永发信息网

MATLAB中y=2*exp(-x*0.001^-1)*sin(2*pi*666*x+pi)这条式子错在哪里?

答案:1  悬赏:0  手机版
解决时间 2021-04-05 19:19
  • 提问者网友:轻浮
  • 2021-04-05 15:07
MATLAB中y=2*exp(-x*0.001^-1)*sin(2*pi*666*x+pi)这条式子错在哪里?
最佳答案
  • 五星知识达人网友:蕴藏春秋
  • 2021-04-05 16:46
是不是运行结果总是"0"?
如果是这样,那么式子没错,不过你使用的tao(音译)值太小,如果x不够小,则指数运算后近似为零。
这是我的测试结果:
>> x=0.001;
>> y=2*exp(-x*0.001^-1)*sin(2*pi*666*x+pi)

y =

0.6356

>> x=0.1;
>> y=2*exp(-x*0.001^-1)*sin(2*pi*666*x+pi)

y =

4.3732e-044

>> x=1;
>> y=2*exp(-x*0.001^-1)*sin(2*pi*666*x+pi)

y =

0

由上面可以看出x取值在0.1数量级以下才能出非零结果。
追问:function shili01
h0=figure('toolbar','none',...
'position',[198 56 350 300],...
'name','实例01');
h1=axes('parent',h0,...
'visible','off');
x=0:0.05:0.5;
y=2*exp(-x*0.1^-1)*sin(2*pi*666*x+pi);
plot(x,y);
xlabel('自变量X');
ylabel('函数值Y');
title('SIN( )函数曲线');
grid on
请问这个程序有什么错误吗,得不到图形
追答:错误是这个吧:
??? Error using ==> mtimes
Inner matrix dimensions must agree.

Error in ==> shili01 at 8
y=2.*exp(-x.*0.1^-1)*sin(2*pi*666.*x+pi);

这个是矩阵运算出现了问题,你前一个语句x=0:0.05:0.5; x是一个1*11的矩阵
之后这个式子y=2.*exp(-x.*0.1^-1)*sin(2*pi*666.*x+pi); 是对x矩阵的每一个元素进行运算,因此需要元素响应符号“.”
程序应修改为:
function shili01
h0=figure('toolbar','none',...
'position',[198 56 350 300],...
'name','实例01');
h1=axes('parent',h0,...
'visible','off');
x=0:0.05:0.5;
y=2*exp(-x*0.1^-1).*sin(2*pi*666*x+pi);
plot(x,y);
xlabel('自变量X');
ylabel('函数值Y');
title('SIN( )函数曲线');
grid on

修改第8行,在sin前的*前加上一个“.”,表示为对x内的元素进行运算。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯