【matlab】如何在m文件中调用两外一个或多个m文件,希望能给出包含大致原理的简单例子,谢啦!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了【matlab】如何在m文件中调用两外一个或多个m文件,希望能给出包含大致原理的简单例子,谢啦!相关的知识,希望对你有一定的参考价值。

%Romberg.m
err=10^(-10); %控制精度
T(1,1)=1/2*(f(0)+f(1));
T(2,1)=1/2*T(1,1)+1/2*(f(1/2)); %对h=1,1/2,计算相应的复合积分
T(2,2)=4/3*T(2,1)-1/3*T(1,1);
n=2;
h=1/2;
delta=abs(T(2,2)-T(1,1));
while delta>err
n=n+1;
h=h/2;
sum=0;
for i=1:2^(n-2) %计算步长折半后新生成点的所有函数值之和
sum=sum+f((2*i-1)*h) ; %f为被积分的函数,具体定义见同目录下子函数程序 f.m
end
T(n,1)=1/2*T(n-1,1)+h*sum; %通过递推的求积公式,求步长折半后的复合积分
for j=2:n
T(n,j)=1/(4^(j-1)-1)*(4^(j-1)*T(n,j-1)-T(n-1,j-1)); %Romberg算法
end
delta=abs(T(n,n)-T(n-1,n-1));
end
disp('符合控制精度要求的数值积分 加速次数')
T(n,n)
n-1

%f.m
function y=f(x)
y=exp(-x.^2);
参考技术A matlab的m文件分位script和m-function两种

调用此m文件以外的m文件
需要 1 另外m文件中的函数名与文件名相同
2 另外m文件必须在matlab的路径下 可以设置为MATLAB路径 或与调用者在同一文件夹下
3 可以在m文件中 直接写函数作为子函数 由m文件直接调用,
很简单的

matlab导入CSV文件

如何将CSV格式文件里的数据导入到matlab程序中?就是用matlab直接调用CSV里的数据~~~求具体语句~~~
尝试了import data,比如我插入的文档是DOW.txt,尝试了之后就会提示我
Error in ==> importfile at 9
newData1 = importdata(DOW.txt);

??? Undefined variable "DOW" or class "DOW.txt".

要在哪个地方定义dow呢?

这是matlab插入之后自动产生的:
function importfile(fileToRead1)
%IMPORTFILE(FILETOREAD1)
% Imports data from the specified file
% FILETOREAD1: file to read

% Auto-generated by MATLAB on 16-Apr-2008 17:59:56

% Import the file
newData1 = importdata(DOW.txt);

% Create new variables in the base workspace from those fields.
vars = fieldnames(newData1);
for i = 1:length(vars)
assignin('base', varsi, newData1.(varsi));
end

请问我要如何定义参数?

先说一下字符串,字符串在matlab中需要加单引号,你直接使用newData1 = importdata(DOW.txt);
matlab便会将DOW.txt看成是变量,但是importdata需要一个包含文件名的字符串变量,但是DOW.txt不知道是什么东西,所以会出现??? Undefined variable "DOW" or class "DOW.txt".

正确的使用方法是:
newData1 = importdata('DOW.txt');
或者
path='DOW.txt'
newData1 = importdata(path);

不过importdata不支持后缀名为txt文件,其支持的文件后缀有:
Data formats Command Returns
MAT - MATLAB workspace load Variables in file.
CSV - Comma separated numbers csvread Double array.
DAT - Formatted text importdata Double array.
DLM - Delimited text dlmread Double array.
TAB - Tab separated text dlmread Double array.

Spreadsheet formats
XLS - Excel worksheet xlsread Double array and cell array.
WK1 - Lotus 123 worksheet wk1read Double array and cell array.

Scientific data formats
CDF - Common Data Format cdfread Cell array of CDF records
FITS - Flexible Image Transport System fitsread Primary or extension table data
HDF - Hierarchical Data Format hdfread HDF or HDF-EOS data set

Movie formats
AVI - Movie aviread MATLAB movie.

Image formats
TIFF - TIFF image imread Truecolor, grayscale or indexed image(s).
PNG - PNG image imread Truecolor, grayscale or indexed image.
HDF - HDF image imread Truecolor or indexed image(s).
BMP - BMP image imread Truecolor or indexed image.
JPEG - JPEG image imread Truecolor or grayscale image.
GIF - GIF image imread Indexed image.
PCX - PCX image imread Indexed image.
XWD - XWD image imread Indexed image.
CUR - Cursor image imread Indexed image.
ICO - Icon image imread Indexed image.
RAS - Sun raster image imread Truecolor or indexed.
PBM - PBM image imread Grayscale image.
PGM - PGM image imread Grayscale image.
PPM - PPM image imread Truecolor image.

Audio formats
AU - NeXT/Sun sound auread Sound data and sample rate.
SND - NeXT/Sun sound auread Sound data and sample rate.
WAV - Microsoft Wave sound wavread Sound data and sample rate.

参考资料:matlab帮助文档

参考技术A 菜单里Files -> Import data...

你的csv文件是怎样的?csv文件里应该只有数据,没有其他任何东西。

以上是关于【matlab】如何在m文件中调用两外一个或多个m文件,希望能给出包含大致原理的简单例子,谢啦!的主要内容,如果未能解决你的问题,请参考以下文章

matlab,简述脚本M文件和函数M文件的区别?

在matlab中怎么直接调用函数

matlab中的m文件可以用中文命名吗,或者用数字?

matlab,简述脚本M文件和函数M文件的区别?

各位大神,MATLAB中如何将编写M函数文件与Simulink之间相互调用,小弟刚学不久,求指点。最好能详细一点。

转C++调用Matlab的.m文件