作业帮 > 综合 > 作业

关于Matlab函数输出的问题

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/16 05:37:58
关于Matlab函数输出的问题
我需要做的程序是这样的:
function output=cubicjt(a,b,c,u,v,w)
定义S={矩阵1,矩阵2,……矩阵24} %此处所有矩阵是手动输入的3*3数字矩阵 没有任何变量
for i=1:24
A=矩阵M*S{i}*[u;v;w] %此处M为含有abc三个变量的一个3*3矩阵 计算得到一个3*1的列向量
C=S{i}*[u;v;w]
if A(3,1)>=0
output=[算式1;算式2]
else if
output=[算式1;算式2]
end
end
end
这样做完的程序在执行的时候会分24个部分分别显示矩阵A及C和output两个列向量
我想将计算得到的24个output的2*1列向量和3*1的列向量C整合成为一个5*24的矩阵,其中output算式1在第一行,算式2在第二行,下面依次是列向量C的第1,2,3行,那么在我的这个小程序上面应该怎么改动?
假设
output_1=A (2x24)
output_2=B (3x24)
output_3=[A;B] 如果output_1,2都是一个矩阵,就ok啦,用分号的意思就是换行把B放在A下方,如果用逗号就会size mismatch
再问: 那我想问一下
output_1=A (2x24)
output_2=B (3x24)
这两行是怎么整合到一起的呢?
换句话说怎么把for循环语句每次的计算结果整理成一个矩阵?
再答: 最基本的矩阵赋值就是用循环,这里是二维矩阵所以是双循环。如果熟悉线性代数和矩阵运算还有对matlab理解多一点,就知道怎样不用循环也可以赋值。下面是对2x24矩阵赋值。

for m=1:2
for n=1:24
output_1(m,n)=每次得到的数值;
end
end