x=0:pi/20:2*pi
axis([0 2*pi -1 1])
plot(x,sin(x),'r')
hold on
plot(x,cos(x),'岩腔缺b')
legend('sin(x)','cos(x)')
axis([0 2*pi -1 1])
2.
price=input('请输入商品价格:')
if(price<200)
realprice=price
elseif(price<500)
realprice=price*(1-0.03)
elseif(price<1000)
realprice=price*(1-0.05)
elseif(price<2500)
realprice=price*(1-0.08)
elseif(price<5000)
realprice=price*(1-0.10)
else
realprice=price*(1-0.14)
end
3.
乘法:
a=sym('3*x.^5-x.^(-4)+2*x.^2+x+3')
b=sym('1/3*x.^3x+x.^2-3*x-1')
c=a*b
expand(c)
除法:[q,r]=deconv([3 -1 0 2 1 3],[1/3 1 -3 -1])%q是商圆物,r是余数。数组从后到前表示从〇次项到各高次项粗辩的系数
1.clear
clc
a=input('a的值为:')b=input('b的值为:')x=input('x的初值为:')
i=0
for n=1:500
i=i+1
y=x
x=a/(x+b)
if abs(x-y)<=1e-5
break
end
end
x %迭代结果
X=[(-b-sqrt(b^2+4*a))/2,(-b+sqrt(b^2+4*a))/陪逗2] %准确值
2.
clear
clc
f(1)=1f(2)=0f(3)=1
for n=4:100
f(n)=f(n-1)-2*f(n-2)+f(n-3)
end
f %f1到f100的值
fmax=max(f) %最芦旁卖大值
fmin=min(f) %最小值
sumf=sum(f) %各数之启绝和
i=length(find(f<0)) %负数的个数
j=length(find(f>0)) %正数的个数
k=length(find(f==0)) %零的个数
3.
clear
clc
k=0X=[0 0 0]
for i=2:50
for j=2:50
x=i*j-1
m=2:x-1
y=x./m
if all(all(y-round(y)))==1&all(all(X(:,3)-x))==1&j==i+1
k=k+1
X(k,:)=[i,j,x]
end
continue
end
end
X %2至50亲密数对
sum(X(:,3)) %上述亲密数对对应的所有亲密素数之和
出错原因搭颤:
浮点数计算误差导致。经过几步循环之后,x并不精确等于0.6,而x/step+1也不是整数7,这样就会导致数组下标不是手枝隐整数,所以会出错:
>> xx =
0.6000
>> num2str(x,'%.16g')
ans =
0.6000000000000001
>> num2str(0.6,'%.16g')
ans =
0.6
>> num2str(x/step+1,'%.16g')
ans =
7.000000000000001
MATLAB中的函数计算直接用数组运算就可以了,例如
x=0:0.1:2y=2*x
如果毕厅涉及到向量的乘、除、乘方运算,相应的运算符应使用点运算。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)