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矩阵,怎么编呢?

函数赋值倒是会,但矩阵怎么尝试都失败了
展开
 我来答
司马刀剑
高粉答主

2018-01-26 · 每个回答都超有意思的
知道顶级答主
回答量:4.6万
采纳率:93%
帮助的人:7545万
展开全部
  • MATLAB二维矩阵赋值和C语言相仿,除了以下几点差别:

  • 下标从1开始而不是0;

  • 索引使用(i,j)而不是[i][j];

  • 可以一个语句对多个元素(包括整个矩阵)同时赋值。

  • 你说的只能给第一行赋值肯定是谢的代码有错,以下是一个简单的例子: 

    A=zeros(5,4);for r=1:5, for c=1:4,A(r,c)=r*10+c;end, end

    你可以对照一下,看问题出在哪里。

  • for循环可以有a=a+5这样的语句,但不能有a+=5,因+=不是MATLAB的操作符。但是要注意,MATLAB 的for循环是基于索引的,这意味着,假如你的循环是for a=...的表达式,你不可能像C语言里那样通过再循环体内部修改a的值去改变循环的次数。

追问
我只是想在形式上让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];
我就想要这三个矩阵,怎么编程呢?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式