士郎小天使 2022-03-07 16:20 采纳率: 78.9%
浏览 405
已结题

matlab中的syms函数,如何写循环并累乘

就如图所示的这种简单的函数,代入n个x,然后累乘。
x随便取,无所谓

img

X=xlsread('1.xlsx');
N=size(X),n=N(1)
syms k c;
for i=n
    f(i)=k*X(i)/c
end
F=prod(f);  %我这个式子写出来f全为0

f(1)=k*X(1)/c
f(2)=k*X(2)/c
F=f(1)*f(2);  %这样单独写出来就没事

  • 写回答

3条回答 默认 最新

  • joel_1993 2022-03-07 20:27
    关注

    这是因为你的循环没有对1到n,而只是对i=n循环了
    改成这样的就可以

    X=xlsread('1.xlsx');
    N =size(X); n=N(1);
    syms k c;
    for i=1:n % 1~n做循环
        f(i)=k*X(i)/c;
    end
    F=prod(f)  %我这个式子写出来f全为0
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月16日
  • 已采纳回答 3月8日
  • 赞助了问题酬金5元 3月7日
  • 修改了问题 3月7日
  • 展开全部