求matlab代码解方程!
x=[200320042005200620072008200920102011201220132014];y=[x1x2x3x4x5x6x7x8x9x10x11x12];...
x=[2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014];
y=[x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12];
z=100-100*(y-1)/351
p1=polyfit(x,z,1);
f=poly2str(p1,'z')
k=p1(1)
S= A1*a+A2*b+A3*(1+t/100)*c
a=1/100*(-20000+200*t)/(100+t)
b=1/100*(-10000+t^2)/(100+t)
c= 1-1/100*t
A1=k*20%+100x13*30%+B3*50%
B3=x14*10+x15*9+x16*8+x17*7+x18*6+x19*5+x20*4+x21*3+x22*2+x23*1
A2=x24*5+x25*2
A3=x26
sym S
t=20 x1=15 x2=29 x3=10 x4=1 x5=1 x6=44 x7=42 x8=33,x9=16,x10=16,x11=11,x12=25,x13=72.1,x14=2,x15=1,x16=0,x17=0,x18=1,x19=0,x20=0,x21=0,x22=0 ,x23=0,x24=20,x25=0,x26=10.55
代码瞎写的。。。但是值都是对的,求规范代码算出S!! 展开
y=[x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12];
z=100-100*(y-1)/351
p1=polyfit(x,z,1);
f=poly2str(p1,'z')
k=p1(1)
S= A1*a+A2*b+A3*(1+t/100)*c
a=1/100*(-20000+200*t)/(100+t)
b=1/100*(-10000+t^2)/(100+t)
c= 1-1/100*t
A1=k*20%+100x13*30%+B3*50%
B3=x14*10+x15*9+x16*8+x17*7+x18*6+x19*5+x20*4+x21*3+x22*2+x23*1
A2=x24*5+x25*2
A3=x26
sym S
t=20 x1=15 x2=29 x3=10 x4=1 x5=1 x6=44 x7=42 x8=33,x9=16,x10=16,x11=11,x12=25,x13=72.1,x14=2,x15=1,x16=0,x17=0,x18=1,x19=0,x20=0,x21=0,x22=0 ,x23=0,x24=20,x25=0,x26=10.55
代码瞎写的。。。但是值都是对的,求规范代码算出S!! 展开
2个回答
展开全部
问题分析
你这和方程好像没什么关系,只是变量的计算顺序问题,基本上把代码调整一下就可以了,但有几处需要说明:
1、最后一行的赋值存在问题:
(1)同一行的赋值语句不能以空格分隔,而应该以逗号或分号分隔,例如
t=20 x1=15 x2=29 x3=10
这样的写法从语法上说就是错误的。
(2)里面有一个中文逗号(在x9的前面),会导致语法错误。
2、下面这一句:
A1=k*20%+100x13*30%+B3*50%
存在两个问题:
(1)MATLAB不支持以百分比输入数据,例如20%应改成0.2;
(2)确认一下,100x13是指100*x13吗?
3、定义sym S完全没有意义。
4、如果不希望显示太乱,赋值语句应该用分号结束以避免回显。
改后的代码
t=20;x1=15;x2=29;x3=10;x4=1;x5=1;x6=44;x7=42;x8=33;
x9=16;x10=16;x11=11;x12=25;x13=72.1;x14=2;x15=1;x16=0;
x17=0;x18=1;x19=0;x20=0;x21=0;x22=0;x23=0;x24=20;x25=0;x26=10.55;
x=[2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014];
y=[x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12];
z=100-100*(y-1)/351;
p1=polyfit(x,z,1);
f=poly2str(p1,'z');
k=p1(1);
B3=x14*10+x15*9+x16*8+x17*7+x18*6+x19*5+x20*4+x21*3+x22*2+x23*1;
A1=k*0.2+100*x13*0.3+B3*0.5;
A2=x24*5+x25*2;
A3=x26;
a=1/100*(-20000+200*t)/(100+t);
b=1/100*(-10000+t^2)/(100+t);
c= 1-1/100*t;
S= A1*a+A2*b+A3*(1+t/100)*c
运行结果
S =
-2.9772e+003
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询