帮忙改一下matlab语句,一直说第二个else 错误

学习 时间:2026-03-30 20:52:08 阅读:220
帮忙改一下matlab语句,一直说第二个else 错误function[s]=gf_sum(A)s=A(1);for i=2:100a=fix(s/x)+fix(A(i)/x);b=mod(s,x)+mod(A(i),x);if(a>0)if(b>x)c=fix(a/x)+fix(b/x);d=mod(a,x)+mod(b,x);if(c>0)e=fix(c/x)+fix(d/x);f=mod(c,x)+mod(d,x);s=e*x+f;elses=c*x+d;breakelseg=mod(fix(a/x),x);s=g*x+b;breakelses=a*x+b;endendendx=5;A =Columns 1 through 24 11 13 9 14 11 11 12 8 8 9 11 13 7 7 16 9 9 12 8 13 7 8 12 12Columns 25 through 50 11 12 13 9 13 14 17 12 16 9 4 13 9 13 8 8 11 13 6 11 6 16 11 12 7 8 12

最佳回答

拼搏的红牛

伶俐的月光

2026-03-30 20:52:08

%end的地方放的有点问题,我稍微改了下你的程序,你看下是你想要的吗% function[s]=gf_sum(A)clc;clear;x=5;A=[ 11 13 9 14 11 11 12 8 8 9 11 13 7 7 16 9 9 12 8 13 7 8 12 12 11 12 13 9 13 14 17 12 16 9 4 13 9 13 8 8 11 13 6 11 6 16 11 12 7 8 12];% A=rand(1,200);s=A(1);for i=2:length(A) a=fix(s/x)+fix(A(i)/x); b=mod(s,x)+mod(A(i),x); if(a>0) c=fix(a/x)+fix(b/x); d=mod(a,x)+mod(b,x); if(c>0) e=fix(c/x)+fix(d/x); f=mod(c,x)+mod(d,x); s=e*x+f; else s=c*x+d; break end end if(b>x) g=mod(fix(a/x),x); s=g*x+b; break else s=a*x+b; endend 再问: x=5; A = Columns 1 through 24 11 13 9 14 11 11 12 8 8 9 11 13 7 7 16 9 9 12 8 13 7 8 12 12 再答: 你程序里的循环是2:100,而A的数据只给了5个,所以把循环改成 for i=2:length(A)

最新回答共有2条回答

  • 爱笑的鼠标
    回复
    2026-03-30 20:52:08

    %end的地方放的有点问题,我稍微改了下你的程序,你看下是你想要的吗% function[s]=gf_sum(A)clc;clear;x=5;A=[ 11 13 9 14 11 11 12 8 8 9 11 13 7 7 16 9 9 12 8 13 7 8 12 12 11 12 13 9 13 14 17 12 16 9 4 13 9 13 8 8 11 13 6 11 6 16 11 12 7 8 12];% A=rand(1,200);s=A(1);for i=2:length(A) a=fix(s/x)+fix(A(i)/x); b=mod(s,x)+mod(A(i),x); if(a>0) c=fix(a/x)+fix(b/x); d=mod(a,x)+mod(b,x); if(c>0) e=fix(c/x)+fix(d/x); f=mod(c,x)+mod(d,x); s=e*x+f; else s=c*x+d; break end end if(b>x) g=mod(fix(a/x),x); s=g*x+b; break else s=a*x+b; endend 再问: x=5; A = Columns 1 through 24 11 13 9 14 11 11 12 8 8 9 11 13 7 7 16 9 9 12 8 13 7 8 12 12 再答: 你程序里的循环是2:100,而A的数据只给了5个,所以把循环改成 for i=2:length(A)

上一篇 解方程:6y+3/2y=9 2y-4/3y=1/2 y+9/2=12

下一篇 This is the only articles of these that -----written by him