matlab 矩阵合并(急)

作者&投稿:赤荆 (若有异议请与网页底部的电邮联系)
MATLAB中如何将两个字符串合并的~

strcat(a,b)将字符串a和b横向合并;
strvcat(a,b)将字符串纵向合并;
>> a='baidu';b='zidao';
>> s=strcat(a,b)
s =
baiduzidao
>> s=strvcat(a,b)
s =
baidu
zidao
>>
不知道你说的字符串合并是不是指的这样?

首先确保每一个行矩阵的维数一样;简单例子如下:
clc;clear;
a1=[1 2 3 4 5];
a2=[4 5 6 7 8];
a3=[3 4 5 6 7];
%合并矩阵a1、a2、a3到A
A=[a1;a2;a3]
运行结果:
A =

1 2 3 4 5
4 5 6 7 8
3 4 5 6 7

如果你说的是:
“A=[a1,a2],B=[b1,b2]
合并成C=[a1,a2,b1,b2]
其中a1,a2,b1,b2都为列向量”的话

那么只需在matlab中输入如下就好:
C=[A,B]

而如果你说的是:
“A=[a1,a2],B=[b1,b2]
合并成C=[a1,a2;b1,b2]
其中a1,a2,b1,b2都为列向量”的话

那么就要在matlab中输入如下才行:
C=[A;B]

直接写 C=[A;B]既可 这样全部是列向量。

我再增加一种使用情况:把两个矩阵以数组的形式合并起来,可以使用cat函数。如下例所示

A = [1,2;3,4];

B = [5,6;7,8];

需要矩阵C(2,2,2)满足C(1,:,:)=A且C(2,:,:)=B,则可以使用以下命令:

C=cat(3,A,B)



不要中间的补零,只要结果可以吗?
[A;B]中间加分号就可以了,得到列向量

用元胞数组,cell


承德市13856488710: matlab 矩阵合并(急) -
能羽凯妮: 如果你说的是: “A=[a1,a2],B=[b1,b2] 合并成C=[a1,a2,b1,b2] 其中a1,a2,b1,b2都为列向量”的话 那么只需在matlab中输入如下就好: C=[A,B] 而如果你说的是: “A=[a1,a2],B=[b1,b2] 合并成C=[a1,a2;b1,b2] 其中a1,a2,b1,b2都为列向量”的话 那么就要在matlab中输入如下才行: C=[A;B]

承德市13856488710: matlab怎么合并矩阵? -
能羽凯妮: >> A=[1 2;3 4] A = 1 2 3 4>> B=[A fliplr(A);flipud(A) fliplr(flipud(A))] B = 1 2 2 1 3 4 4 3 3 4 4 3 1 2 2 1 或>> B=[A fliplr(A);flipud(A) rot90(rot90(A))] B = 1 2 2 1 3 4 4 3 3 4 4 3 1 2 2 1

承德市13856488710: 用matlab实现矩阵合并的多种方法 -
能羽凯妮: 举个例子>> a=[1 2 3;4 5 6] a = 1 2 3 4 5 6>> b=[7 8 9] b = 7 8 9>> d1=[a;b] d1 = 1 2 3 4 5 6 7 8 9>> c=[5;6] c = 5 6>> d2=[a c] d2 = 1 2 3 5 4 5 6 6

承德市13856488710: matlab中矩阵怎么合并,行的合并,请给出详细的一个例 -
能羽凯妮: 给出行列两种合并,你自己挑 >> A = magic(3) A =8 1 63 5 74 9 2 >> B = ones(3,3) B =1 1 11 1 11 1 1 >> C=[A B] C =8 1 6 1 1 13 5 7 1 1 14 9 2 1 1 1 >> D = [A;B] D =8 1 63 5 74 9 21 1 11 1 11 1 1

承德市13856488710: matlab如何合并矩阵两列为一列? -
能羽凯妮: 按你的要求,你把矩阵组变为字符串元胞数组去处理吧 a是你原来的矩阵33x2 b=num2str(a); 是33xn的矩阵,n由原来字符的长度决定 c=cellstr(b); 是33x1的字符串元胞数组 tabulate(c) 可以出你要的结果

承德市13856488710: 在matlab中如何合并矩阵?
能羽凯妮: > a(2,:)=[0,b] %a的第2行放 0,ba = 0.4200 0.4100 0.6700 0.7800 0.6900 0.3200 0 0.5700 0.2700 0.5500 0.2900 0.3700>> a(3,:)=0 %第3行置0a = 0.4200 0.4100 0.6700 0.7800 0.6900 0.3200 0 0.5700 0.2700 0.5500 0.2900 0.3700 0 0 0 ...

承德市13856488710: 在Matlab里如何将多个矩阵A1、A2、A3(例如 3行6列)合并成一个例如[A1;A2;A3]的矩阵. -
能羽凯妮: 直接这样就行了【前提是行数要相等】 A = [A1; A2; A3]

承德市13856488710: 如何把不同格式的矩阵合并在一起 matlab -
能羽凯妮: % 将格式统一或者去掉“%”,你自己知道是百分数 >>a=round(100*rand(200,3)); b=100*a(:,1)/sum(a(:)); c=[a b]

承德市13856488710: matlab 中怎么合并矩阵? -
能羽凯妮: 直接将矩阵A和B拼接成新矩阵就是了:[A B]; [A;B] 懂了吧

承德市13856488710: 如何在matlaB中合并矩阵中的两行或两列啊? -
能羽凯妮: 可以通过“(:)”来达到,比如: clc; clear all; close all; A = magic(3) a = A(1:2, :); B(1, :) = a(:) A =8 1 6 3 5 7 4 9 2 B =8 3 1 5 6 7 >>

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网