matlab分段函数调用出错函数是这样的:function f=am(x)if x>=0&x=0.01&x0.035f=-180/0.035*x+440;end 调用语句:for k=1:mxx(ii+1)=xx(ii+1)+am(a(k+1))*a(k+1)*cos(2*pi*k*ii/N)+am(b(k+1))*b(k+1)*sin(2*pi*k*ii/N);end其中的变量都是定
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/04 20:43:46
![matlab分段函数调用出错函数是这样的:function f=am(x)if x>=0&x=0.01&x0.035f=-180/0.035*x+440;end 调用语句:for k=1:mxx(ii+1)=xx(ii+1)+am(a(k+1))*a(k+1)*cos(2*pi*k*ii/N)+am(b(k+1))*b(k+1)*sin(2*pi*k*ii/N);end其中的变量都是定](/uploads/image/z/3960306-18-6.jpg?t=matlab%E5%88%86%E6%AE%B5%E5%87%BD%E6%95%B0%E8%B0%83%E7%94%A8%E5%87%BA%E9%94%99%E5%87%BD%E6%95%B0%E6%98%AF%E8%BF%99%E6%A0%B7%E7%9A%84%EF%BC%9Afunction+f%3Dam%28x%29if+x%3E%3D0%26x%3D0.01%26x0.035f%3D-180%2F0.035%2Ax%2B440%3Bend+%E8%B0%83%E7%94%A8%E8%AF%AD%E5%8F%A5%EF%BC%9Afor+k%3D1%3Amxx%28ii%2B1%29%3Dxx%28ii%2B1%29%2Bam%28a%28k%2B1%29%29%2Aa%28k%2B1%29%2Acos%282%2Api%2Ak%2Aii%2FN%29%2Bam%28b%28k%2B1%29%29%2Ab%28k%2B1%29%2Asin%282%2Api%2Ak%2Aii%2FN%29%3Bend%E5%85%B6%E4%B8%AD%E7%9A%84%E5%8F%98%E9%87%8F%E9%83%BD%E6%98%AF%E5%AE%9A)
matlab分段函数调用出错函数是这样的:function f=am(x)if x>=0&x=0.01&x0.035f=-180/0.035*x+440;end 调用语句:for k=1:mxx(ii+1)=xx(ii+1)+am(a(k+1))*a(k+1)*cos(2*pi*k*ii/N)+am(b(k+1))*b(k+1)*sin(2*pi*k*ii/N);end其中的变量都是定
matlab分段函数调用出错
函数是这样的:
function f=am(x)
if x>=0&x=0.01&x0.035
f=-180/0.035*x+440;
end
调用语句:
for k=1:m
xx(ii+1)=xx(ii+1)+am(a(k+1))*a(k+1)*cos(2*pi*k*ii/N)+am(b(k+1))*b(k+1)*sin(2*pi*k*ii/N);
end
其中的变量都是定义好的,运行时出现了这样的错误:
Error in ==> am at 2
if x>=0&x
matlab分段函数调用出错函数是这样的:function f=am(x)if x>=0&x=0.01&x0.035f=-180/0.035*x+440;end 调用语句:for k=1:mxx(ii+1)=xx(ii+1)+am(a(k+1))*a(k+1)*cos(2*pi*k*ii/N)+am(b(k+1))*b(k+1)*sin(2*pi*k*ii/N);end其中的变量都是定
第一段程序(分段函数),没有问题已通过测试,不过建议您再在末尾加一个and,将“&”替换成“&&”,不过不修改也能顺利运行,
至于后半段,我默认k=1,ii=2;N=10;调用命令为: xx=am(a(k+1))*a(k+1)*cos(2*pi*k*ii/N)+am(b(k+1))*b(k+1)*sin(2*pi*k*ii/N);
给出如下信息:
Warning: Polynomial is badly conditioned. Add points with distinct X
values, reduce the degree of the polynomial, or try centering
and scaling as described in HELP POLYFIT.
> In polyfit at 80
In am at 19
>> xx
xx =
-3.8062e+008
这说明这段程序本身没有问题,我给的数据之所以会发出警告,是因为我的ii和N给定不合理,使得用该拟合函数求得的结果不够精确.
建议楼主看看跳出的时候你的k等于几,看起是不是第一次调用分段函数就出错,如果第一次就出错,可能你的matlab除了问题,重启一下估计就行了.如果不是第一次,就是你这个程序本身的逻辑出错,出现了无意义的结果,建议检查求解范围.