我有2组数据a1=1,a2=3,a3=5,a4=7,a5=9,a6=11 b1=2,b2=4,b3=6,b4=8,b5=10,b6=12现在我要得到c,c1=sin(a1)*cos(b1),c2=sin(a2)*cos(b2),以此类推我希望输出是C1=(某一个数)c2=c6=您的回答非常完美 但是我想知道如果那个C是一个矩阵的话 也就是c=sina sinbcosa cosb这样的话该如何写呢?

问题描述:

我有2组数据a1=1,a2=3,a3=5,a4=7,a5=9,a6=11 b1=2,b2=4,b3=6,b4=8,b5=10,b6=12
现在我要得到c,c1=sin(a1)*cos(b1),c2=sin(a2)*cos(b2),以此类推
我希望输出是C1=(某一个数)
c2=
c6=
您的回答非常完美 但是我想知道如果那个C是一个矩阵的话 也就是
c=
sina sinb
cosa cosb
这样的话该如何写呢?

哈哈,类似写法啊.只需要把表达式字符串变一下.
要生成矩阵,你需要的是这样的格式:c1=[sin(a1),sin(b1);cos(a1),cos(b1)];
所以把程序改为:
for j=1:6
variable_name=genvarname(['c',num2str(j)]); %生成变量名,c1,c2,...c6
string=strcat(variable_name,'=[sin(a',num2str(j),'),sin(b',num2str(j),...
');cos(a',num2str(j),'),cos(b',num2str(j),')];');
eval(string); %再把这个表达式用eval执行
end