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
能羽凯妮: 如果你说的是: “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 >>