
分类: 电脑/网络 >> 程序设计 >> 其他编程语言
问题描述:
请看:
function a=a_2(sgmc,at,L)
sgm=0067;
mul=549exp(-4);
roul=9881;
g=981;
% 以下中间变量
z1=(sgmc/sgm)^075;
z2=(L/at/mul)^01;
z3=(L^2at/(mul^2g))^(-005);
z4=(L^2/roul/sgm/at)^02
% 以上中间变量
a=at(1-exp((-145)z1z2z3z4));
调用时候:f=a_2(1,2,3),返回数值如下:
z4=05841;f=19970
问题是,为什么返回值是两个?为什么不只是f的值,请指教!
解析:
哈哈,俺知道了!z4的后边加上分号;就好了。
z4=(L^2/roul/sgm/at)^02;
因为你调用时,是执行a_2。同时显示出来了。
合法
但是定义的时候最好不要写成一样,以免自己看混乱了
在buyactionm文件里面这样定义
function [intrade_all_out,intrade_info ] = buyaction(series,pretrade,parameter,intrade_all_in)
函数里面就根据的需要,把intrade_all_in经过运算的结果赋值给intrade_all_out
在主函数里面写成一样的
intrade_all=初始值;
for 循环条件
[intrade_all,intrade_info ] = buyaction(series,pretrade,parameter,intrade_all);
end
将两个m文件放在同一目录,在第一个m文件里面直接输入第二个m文件的函数名称即可 。
[输出1,输出2,]=函数名称(变量1,变量2,)
MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。
在Matlab下输入:edit,然后将下面两行百分号之间的内容,复制进去,保存
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function [sinx,cosx]=myfun_1(x)
sinx=sin(x);
cosx=cos(x);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
返回Matlab输入:
x=0:1:2pi;
[sx,cs]=myfun_1(x)
因为你没有说明是什么具体的函数,我就以多项式函数为例吧!
MATLAB中有个函数叫polyval,用来计算多项式在某点的函数值。示例程序:
我们有多项式:f(x)=3x^2
+
2x
+1
计算此函数在x=5处的值的代码:
p
=
[3
2
1];
polyval(p,5);
同样的再举个例子:
用mean函数就可以求平均值了
A
=
[1
3
4
5
3];
B
=
mean(A)
记住一点,要用Matlab首先要熟悉他的函数库。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)