matlab 原函数为function y=mytest(x) x=x+5;y=x*2;能正确运行,但是x只是在函数变量区有效matlab 原函数为function y=mytest(x) x=x+5;y=x*2;其中的x修改只在函数变量区有效,所以我把它改了改,function y=mytest(x) x=x
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/28 16:07:43
![matlab 原函数为function y=mytest(x) x=x+5;y=x*2;能正确运行,但是x只是在函数变量区有效matlab 原函数为function y=mytest(x) x=x+5;y=x*2;其中的x修改只在函数变量区有效,所以我把它改了改,function y=mytest(x) x=x](/uploads/image/z/5167255-31-5.jpg?t=matlab+%E5%8E%9F%E5%87%BD%E6%95%B0%E4%B8%BAfunction+y%3Dmytest%28x%29+x%3Dx%2B5%3By%3Dx%2A2%3B%E8%83%BD%E6%AD%A3%E7%A1%AE%E8%BF%90%E8%A1%8C%2C%E4%BD%86%E6%98%AFx%E5%8F%AA%E6%98%AF%E5%9C%A8%E5%87%BD%E6%95%B0%E5%8F%98%E9%87%8F%E5%8C%BA%E6%9C%89%E6%95%88matlab+%E5%8E%9F%E5%87%BD%E6%95%B0%E4%B8%BAfunction+y%3Dmytest%28x%29+x%3Dx%2B5%3By%3Dx%2A2%3B%E5%85%B6%E4%B8%AD%E7%9A%84x%E4%BF%AE%E6%94%B9%E5%8F%AA%E5%9C%A8%E5%87%BD%E6%95%B0%E5%8F%98%E9%87%8F%E5%8C%BA%E6%9C%89%E6%95%88%2C%E6%89%80%E4%BB%A5%E6%88%91%E6%8A%8A%E5%AE%83%E6%94%B9%E4%BA%86%E6%94%B9%2Cfunction+y%3Dmytest%28x%29+x%3Dx)
matlab 原函数为function y=mytest(x) x=x+5;y=x*2;能正确运行,但是x只是在函数变量区有效matlab 原函数为function y=mytest(x) x=x+5;y=x*2;其中的x修改只在函数变量区有效,所以我把它改了改,function y=mytest(x) x=x
matlab 原函数为function y=mytest(x) x=x+5;y=x*2;能正确运行,但是x只是在函数变量区有效
matlab 原函数为function y=mytest(x) x=x+5;y=x*2;其中的x修改只在函数变量区有效,所以我把它改了改,function y=mytest(x) x=x+5;y=x*2;x=x;然后运行就不是预期的结果了,请给我讲解一下,我的函数怎么解?
匿名函数myffhd =@(a)(quad(@(x)(a.*x^2+1./a.*x+1./a^2),0,1))
myffhd(0.5)的运行结果怎么不是5.1667,还出错?
函数
function[y1,y2]=mytestnio(x1,x2)
if nargin==1
y1=x1;
if nargout==2
y2=x1;
end
else
if nargout==1
y1=x1+x2;
else
y1=x1;
y2=x2;
end
end
当在command window 中键入mytestnio(5,7)时结果是ans=5.但是我觉得这个命令中有另个输出,2个输入,在前面函数定义中没有与之对应的if语句或是else语句啊,这个怎么理解?
matlab 原函数为function y=mytest(x) x=x+5;y=x*2;能正确运行,但是x只是在函数变量区有效matlab 原函数为function y=mytest(x) x=x+5;y=x*2;其中的x修改只在函数变量区有效,所以我把它改了改,function y=mytest(x) x=x
第一个问题:
两种情况都一样,function不会改变x的值,因为输入的只是x的一个拷贝,又没输入x的地址
第三个问题
你用mytestnio(5,7),结果只会输出y1的值,但你用[y1,y2]=mytestnio(5,7),会输出两个值,我觉得你可以这样,function a=mytestnio(x1,x2)
在函数里面用a(1)=?a(2)=?这样系统默认的ans就会指向a,就会按要求输出数值或是向量
第二个问题
我看看,我不知道@的用法