matlab中如何定义循环递增系数,例如第一次循环为a1,第二次为a2。例如fx=ai*sin(i*pi*x)d的和,i从1到n.
2个回答
展开全部
%假设d是一个已知数
%如果ai是已知,把n个ai写成一个一维矩阵
%如果ai未知,把每个ai求出来,写成如下的向量
A=[a1 a2 a3 ... ai ... an]; %一维矩阵无所谓是行向量还是列向量
%下面求f(x)=ai*sin(i*pi*x)d的和Sum_f
Sum_f=0; %初始化
for i=1:n
temp=A(i)*sin(i*pi*x)*d;
Sum_f=Sum_f+temp;
end
%如果ai是已知,把n个ai写成一个一维矩阵
%如果ai未知,把每个ai求出来,写成如下的向量
A=[a1 a2 a3 ... ai ... an]; %一维矩阵无所谓是行向量还是列向量
%下面求f(x)=ai*sin(i*pi*x)d的和Sum_f
Sum_f=0; %初始化
for i=1:n
temp=A(i)*sin(i*pi*x)*d;
Sum_f=Sum_f+temp;
end
追问
还是不行啊,出来这个:
??? Undefined function or variable "a1".
Error in ==> collocation5 at 2
A=[a1 a2 a3 a4 a5]
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把要循环递增的系数做成一个数组就行了。
如
A=[a1,a2,……an];
fx=A(1,i)*sin(i*pi*x)*d
如
A=[a1,a2,……an];
fx=A(1,i)*sin(i*pi*x)*d
追问
还是不行啊,出来这个:
??? Undefined function or variable "a1".
Error in ==> collocation5 at 2
A=[a1 a2 a3 a4 a5]
顺便问一下省略号表达或者说怎么输进去的?用A=[a1:an]怎么不行?
追答
A数组是要自己定义的,如果有规律就用for来做循环,无规律就一个一个输入。数组中是不能用省略号的,那是我随便写的。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询