matlab中,怎么样调用function函数自定义函数调用另一个函数名为输入?

小木虫 --- 600万学术达人喜爱的学术科研平台
热门搜索:
&&查看话题
Matlab中如何自己定义一个新函数,然后计算时可以调用?
Matlab中如何自己定义一个新函数,然后计算时可以调用?
简单的举个例子:& & & & 编写一个输入半径,计算圆的面积和球的体积 的M文件.
& & & & 前两行是文件头,一般说明文件的 类型(M-file),文件名(tutex2),和文件的功能(输入半径,计算圆的面积和球的体积),后面是文件体,主要是解决特定问题的程序代码.
& & & & % M-file, tutex2.m
& & & & % 输入半径,计算圆的面积和球的体积
& & & & r = input('Type radius:'); %从键盘输入Type radius的值,并将它赋值给r.
& & & & area=pi*r^2;
& & & & volume=(4/3)*pi*r^3;
& & & & fprintf('The radius is %12.5f\n',r)
& & & & fprintf('The area of a circle is %12.5f\n',area)
& & & & fprintf('The volume of a sphere is %12.5f\n',volume)
用的2012a版本的。怎么才可以调用呢?最好说的详细点(带截图最好了),百度上的用过,出错了。谢谢了。
首先谢谢您了。
但是我按照您说的,1 在命令框输入程序 2 File-new-save workspace-土tutex2&&3&&clc 清空了整个命令框 4 输入 = tutex2(10.0);5&&=tutex2(10.0)
Undefined function 'tutex2' for input arguments of type 'double'.
LZ, 2楼的程序里变量名radius在下面的函数程序中没有正确引用
function& &= tutex2(radius)
area=pi*radiu^2;
volume=(4/3)*pi*r^3;
fprintf('The radius is %12.5f\n',r)
fprintf('The area of a circle is %12.5f\n', ...
把程序中r改成radius就应该可以了,可以试试。有问题交流。。。
不用换成radius的,换了反而运行出错了。
文件类型:Microsoft Office Access表快捷方式(.mat)
描述:tutex2
位置:E:\matlab\Matlab\bin
我觉得是不是我存储时除了问题了的、
保存函数应该是M-file
.mat是输入存储的矩阵变量。
另外,LZ的2012a我没用过,我的小笔记本只能跑起来2008a,所以至少在我的版本里,r要改成radius的。
function&&= tutex2(radius)
area=pi*radius^2;
volume=(4/3)*pi*radius^3;
fprintf('The radius is %12.5f\n',radius)
fprintf('The area of a circle is %12.5f\n',area)
fprintf('The volume of a sphere is %12.5f\n',volume)
= tutex2(10.0);
The radius is& &&&10.00000
The area of a circle is& & 314.15927
The volume of a sphere is& &
哦,2012a不改也可以的,我已经用另外一种方法达到目的了。共同讨论,集思广益才是学习之道。谢谢了,我也试试你的这种方法。
2012a看来果然高级了,可惜小本本是没希望跑动了。
另外我觉得函数输入变量和后面公式里的变量名保持一致比较符合逻辑,否则如果程序长了就容易出错了。。。
个人意见,欢迎交流~
学术必备与600万学术达人在线互动!
扫描下载送金币MATLAB中如何调用自定义函数
1、函数文件+调用命令文件:需单独定义一个自定义函数的M文件;
2、函数文件+子函数:定义一个具有多个自定义函数的M文件;
1、函数文件+调用函数文件:定义多个M文件:
调用函数文件:myfile.m
for t=1:10
y=mylfg(t);
fprintf(‘M^(1/3)=%6.4f\n’,t,y);
%自定义函数文件:
function y=mylfg(x)
%注意:函数名(mylfg)必须与文件名(mylfg.m)一致
Y=x^(1/3);
注:这种方法要求自定义函数必须单独写一个M文件,不能与调用的命令文件写在同一个M文件中。
2、函数文件+子函数:定义一个具有多个子函数的M文件
%命令文件:funtry2.m
function []=funtry2()
for t=1:10
fprintf(‘M^(1/3)=%6.4f\n’);
function y=lfg2(x)
Y= x^(1/3);
%注:自定义函数文件funtry2.m中可以定义多个子函数function。子函数lfg2只能被主函数和主函数中的其他子函数调用。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。matlab中函数调用问题%自定义函数function y=f3(p)if abs(p)>=2f3=0else if abs(p)=1&abs(p)
输入DNA序列的长度N5x=?Ax=?Tx=?Cx=?Gx=?A
4? Undefined function or variable 'x'.Error in ==> f3 at 5
f3=(abs(p)^3)/2-x^2+2/3把f3保存到matlab的work目录下,在command window里输入其他程序段,运行后出现上述错误,很明显,你定义的f3里的输入变量为p只有一个,而你的计算过程中却出现了x这个变量,按你的意思f3就应该有2个输入变量.你的函数编写是错误的.
=eps)//精度判断{pi+=s; //pi存放累加和t=n/(2*n+1); //每一项s*=t; //累积n++; }pi=pi*2; //求得π值}如果改为double fun (double eps){double sum=1,a=1,b=1,i=1;while(fabs(b)>=eps){ a=i/(2*i+1);b*=a;i++;sum+=b;}sum=2*}当eps=0.0005时,为何返回值不一样,第一个是3.140578 ,第二个是3.141106">C语言程序调用函数返回值的问题题目是求pi的值:pi/2=1+1/3+(1*2)/(3*5)+(1*2*3)/(3*5*7)+.+(1*2*3*.*n)/(3*5****(2n-1))double fun (double eps){float n,t,t=1;pi=0;n=1.0;s=1.0; //对各个累加项,累加积等赋初始化值 while((fabs(s))>=eps)//精度判断{pi+=s; //pi存放累加和t=n/(2*n+1); //每一项s*=t; //累积n++; }pi=pi*2; //求得π值}如果改为double fun (double eps){double sum=1,a=1,b=1,i=1;while(fabs(b)>=eps){ a=i/(2*i+1);b*=a;i++;sum+=b;}sum=2*}当eps=0.0005时,为何返回值不一样,第一个是3.140578 ,第二个是3.141106
f(x)是轴对称函数,对称轴为:x=a,图像是一个V字样;(1)当a
解析:∵锐角三角形,∴C=180度-A-B<90度,∴0<A+B<90,∴0<A<90-B<90,由y=sinx在【0,90】单调递增,∴sinA<sin(90-B),即sinA<cosB
如何运用三角函数定义求这个角的三角函数!
其他相关问题}

我要回帖

更多关于 matlab调用自定义函数 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信