Matlab矩阵中含有变量,变量进行循环赋值,怎么做?
A=[0cos(theta_i1)0;001;sin(theta_i2)00];其中i=1,2,3;输出三个A矩阵,怎么编呢?函数赋值倒是会,但矩阵怎么尝试都失败了...
A=[0 cos(theta_i1) 0;0 0 1;sin(theta_i2) 0 0];
其中i=1,2,3;
输出三个A矩阵,怎么编呢?
函数赋值倒是会,但矩阵怎么尝试都失败了 展开
其中i=1,2,3;
输出三个A矩阵,怎么编呢?
函数赋值倒是会,但矩阵怎么尝试都失败了 展开
1个回答
展开全部
MATLAB二维矩阵赋值和C语言相仿,除了以下几点差别:
下标从1开始而不是0;
索引使用(i,j)而不是[i][j];
可以一个语句对多个元素(包括整个矩阵)同时赋值。
for循环可以有a=a+5这样的语句,但不能有a+=5,因+=不是MATLAB的操作符。但是要注意,MATLAB 的for循环是基于索引的,这意味着,假如你的循环是for a=...的表达式,你不可能像C语言里那样通过再循环体内部修改a的值去改变循环的次数。
你说的只能给第一行赋值肯定是谢的代码有错,以下是一个简单的例子:
A=zeros(5,4);for r=1:5, for c=1:4,A(r,c)=r*10+c;end, end
你可以对照一下,看问题出在哪里。
追问
我只是想在形式上让i=1、2、3即可,相当于讲角标赋值。对于矩阵A,当i1\2\3时就能输出A=[0 cos(theta_11) 0;0 0 1;sin(theta_12) 0 0];
A=[0 cos(theta_21) 0;0 0 1;sin(theta_22) 0 0];
A=[0 cos(theta_31) 0;0 0 1;sin(theta_32) 0 0];
我就想要这三个矩阵,怎么编程呢?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询