MATLAB的使用问题
作者&投稿:侨哀 (若有异议请与网页底部的电邮联系)
。。。。。。。
for i=1:10
pause(1)
xlsread(.....)
end
。。。。。。。。
就是这个思路,你自己完善一下语句结构,这种方法不考虑程序本身运行所耗的时间。如果考虑了,可以把用cuptime函数考虑读取所耗时间:
。。。。。。。
t1=0;
for i=1:10
pause(1-t1);
t0=cuptime;
xlsread(.....);
t1=cputime-t0;
end
。。。。。。。。
希望对你有帮助!
MATLAB Fcn模块一般是编写一个对应的函数M文件然后调用,像你这种用法以前还真没这么用过,而且我无法复现你说的现象。
请把能复现你问题的模型找个网盘上传(如百度网盘)并贴出链接来,我再帮你分析。
至于说实现转置,可以很简单的使用Math Function模块(位于Math Operations库),选择Function 为transpose即可。
解决方法:
1、在command窗口中输入which bode all ,查看bode函数的路径(应该可以看到一个函数是在MATLAB安装目录下,另一个是在你自己建立的目录下)
2、删除或重命名你自己建立的函数文件
(x,y).其中x、y是1×n阶矩阵.也可以用格式plot(x1,y1,x2,y2,…)把多条曲线画在同一坐标系下.在这种格式中,每个二元对x-y的意义都与plot(x,y)的相同,每个二元对x-y的结构也必须符合plot(x,y)的要求.但二元对之间没有约束关系.以上三种格式中的x、y都可以是表达式,但表达式的运算结果必须符合上述格式要求.MATLAB的图形功能还提供了一组开关命令.关于颜色和线形用下面的方法进行控制.
plot(x,'r*') 表示用红色*号画线, plot(x,y,'b+') 表示用蓝色+号画线,
plot(x1,y1,'y-',x2,y2,'g:') 表示第一组用黄色实线画线,第二组用绿色点线画线.
MATLAB的线型字符有很多,可以随心所欲地把图画得很漂亮.下面几个线型字符大家可以选用:
S:小方块;H:六角星;D:钻石形;V:向下三角形;^:向上三角形.
MATLAB还提供了图形的加注命令:
title 题头标注. xlabel x轴标注.
ylabel y轴标注. gtext 鼠标定位标注.
grid 网格.
axis([xmin xmax ymin ymax]) []中给出x轴和y轴的最小、最大值
如果要把y1=6sint,y2=6cost,y3=sint2-tcost绘制在一张图上,则可输入如下的命令:
t=0:pi/12:2*pi;
y1=6*sin(t);y2=6*cos(t);y3=sin(t.^2)-t.*cos(t);
plot(t,y1,'r-',t,y2,'bo',t,y3,'k:') %用红线画y1,用蓝圈画y2,用黑虚线画y3.
如果还想在图上加一个题头,可继续键入命令:
title('曲线比较')
注:MATLAB中,%后面的语句起注释作用.特别要注意y3中的运算符号“.^”和“.*”,详情可通过help查阅,或查阅有关MATLAB的参考书.
命令polar(theta,rho)或polar(theta,rho,‘s’)绘制极坐标系的二维图形.详情可通过help查阅.
绘制三维图形
⑴ 空间曲线的绘制
绘制空间曲线的基本命令为:
plot3(x,y,z);plot3(x,y,z,'s')或plot3(x1,y1,z1,'s1',x2,y2,z2,'s2',…)
其中x,y,z是同维的向量或矩阵.当它们是矩阵时,以它们的列对应元素为空间曲线上点的坐标.s是线形、颜色开关,这一点与二维曲线时的情形相同.
⑵ 曲面的绘制
绘制空间曲面的基本命令为mesh(x,y,z).
如果x、y是向量,则要求x的长度=矩阵z的列维;y的长度=矩阵z的行维.以zij为竖坐标,x的第i个分量为横坐标,y的第j个分量为纵坐标绘网格图.
如果是同维矩阵,则数据点的坐标分别取自这三个矩阵.
meshc(x,y,z) 带等高线的网格图, waterfall(x,y,z) 瀑布水线图,
surf(x,y,z,'c') 可着色的曲面图,
surfc(x,y,z) 带等高线的可着色的曲面图.
以上这些命令都可用来绘制曲面图,用法与mesh完全一样.
例如:要想画马鞍面,可输入如下命令:
x=-3:1/16:3;y=x;
[x,y]=meshgrid(x,y); %(生成绘图时所需的x-y坐标)
z=-x.^2+y.^2;
mesh(x,y,z) %(或换为surfc(x,y,z) %带等高线的着色图)
3.多幅图形的创建
有时同一曲面或曲线需要从不同的角度去观察,或用不同的表现方式去表现,这时,为了便于比较,往往在一个窗口内画多幅图形.MATLAB用subplot命令实现这一目的.具体格式为:
subplot(m,n,p) 使用此命令后,把窗口分为m×n个图形区域,p表示当前区域号.
例如把sinx,cosx,atanx,sinxcosy画在一个窗口内,可键入:
x=0:pi/6:2*pi;y=x;
z1=sin(x);z2=cos(x);z3=atan(x);
subplot(2,2,1); plot(x,z1,'r',x,z2,'g')
subplot(2,2,2);plot(x,z3,'m')
subplot(2,2,3);[x,y]=meshgrid(x,y);z4=sin(x).*cos(y);
mesh(x,y,z4);subplot(2,2,4);surfc(x,y,z4)
我测试了一下,默认的情况下是可以通过的,画出了系统的波特图。
我用的版本是7.10.0.499 (R2010a)
你的那个问题,我估计是函数冲突了,你的C:\Users\Documents\MATLAB\目录下有一个应该是有一个bode.m文件,可能和Matlab\toolbox\中的那个文件冲突了。
解决方案:Documents\matlab\中的bode.m文件移走
你好,这是我用 R2008a 运行你命令得到的结果
================
x=[2001:2005];
y=[500.6 442.4 428.6 370.1 343.1];
%plot(x,y,'*')
plot(x,y,'*',x,y)
a=polyfit(x,y,1) %a是y=a(1)*x+a(2)
xx=[2001:0.5:2005]
y1=a(1)*xx+a(2)
hold on
plot(xx,y1,'o')
%=====================
运行结果:
a =
1.0e+004 *
-0.0039 7.7993
xx =
1.0e+003 *
2.0010 2.0015 2.0020 2.0025 2.0030 2.0035 2.0040 2.0045 2.0050
y1 =
494.4200 475.0550 455.6900 436.3250 416.9600 397.5950 378.2300 358.8650 339.5000
问几个matlab的题!
4)程序限制不严格,程序设计自由度大。例如,在MATLAB里,用户无需对矩阵预定义就可使用。5)程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行。6)MATLAB的图形功能强大。在FORTRAN和C语言里,绘图都很不容易,但在MATLAB里,数据的可视化非常简单。MATLAB还具有较强的编辑...
湛可精蛋: .mat不是程序 ,是数据文件.你不要点开它,直接 data = load('xxxx.mat'); 就可以把数据读到data里面了.当然也有可能是因为它太大了,需要更多的内存和缓存来读取,需要更高配置的机器.但并不是机器配置越高越好,因为MATLAB自己也有运算能力限制,比如精度,跟你用什么机器配置是没关系的.
闽侯县19112941972: 如何使用matlab? - ?
湛可精蛋: 使用前需先了解其基本情况: 1. Matlab 是一种集计算,解方程,画图,模拟仿真等功能于一身的强大工具,是大学生建模竞赛的必备软件! 2. 其在各个领域都有着强大的函数库支持,所以,通用性很强,适合科研和仿真模拟,是大学生应该掌握的一种编程语言. 3. 但相比于C家族语言,其主要不同是,Matlab 主要是计算语言,得到的是一种结果;而C家族是编程语言,主要目的得到的是一种可运行的软件或模块 至于如何使用,这个很宽泛,可以到图书馆或者网上下载些Matlab基础,然后就是熟悉函数库的问题了!
闽侯县19112941972: MATLAB使用过程中出现问题,求解答 - ?
湛可精蛋: 按F1去帮助文件里看看mesh函数的格式要求,你的参数X.Y.Z.C中出现了复数; 所无法mesh!
闽侯县19112941972: 问几个关于MATLAB的问题1. 在安装MATLAB软件时,哪个组件(模块)是必须选择的?否则,不能建立MATLAB工作环境. 2.指令clear,clf,clc各有什么用... - ?
湛可精蛋:[答案] 5 int2str 把整数转换为串 char 把ASCII码及其他非数值类型数据转换成字符串 mat2str 把数值矩阵转换为str sprintf 以控制格式把数值转换为串 6.M函数文件的结构组成特点是什么?M(脚本)文件和函数文件的主要...
闽侯县19112941972: 有关matlab软件的应用问题 - ?
湛可精蛋: 可以.MATLAB的 image processing toolbox 中 fft2, fftn 用于傅里叶变换 wavelet toolbox 中 dwt2 用于小波变换
闽侯县19112941972: matlab数组应用问题 - ?
湛可精蛋: 初步认为主要原因是:Error in ==> Navigation at 16 Nav.Sv.PRN(m) = str2num(Nav_line(1:2));错误原因在于结构体的引用,改为Nav.Sv.PRN{m} = str2num(Nav_line(1:2))特别要注意“{}”和...
闽侯县19112941972: 有关使用Matlab的问题?
湛可精蛋: 你的程序中矩阵维数不一致,采用断点运行检查一下.
闽侯县19112941972: 急求:关于MATLAB程序在电脑上运行的问题!!! - ?
湛可精蛋: MATLAB我学过 是数学类软件 基本是帮助数学应用的包括数据可视化、数据分析.打个比方 求166的SIN值 貌似数学里没教过 但MATLAB可以通过设计算算出来 初级的貌似还不难 我好像当时实验考试还得了80分呢 所以其他程序是运行不了的 绿色版或简化版应该是可以运行相关程序的 只是说如果你那程序复杂点 简化版的可能运行不出了 祝你好运...
闽侯县19112941972: 关于MATLAB的回问题,我是初学者 - ?
湛可精蛋: 1、figure的windowbuttondown函数是当鼠标在figure中点击时(无论是左键还是右键),程序调用的回调函数.这时,程序不管鼠标是在那一个控件的区域内,只要点击,都调用该函数;2、axes或其它控件的ButtonDownFcn函数是当控件位于该控件的区域内时,点击时所调用的函数.
闽侯县19112941972: 请教关于MATLAB应用领域问题! - ?
湛可精蛋: 我也是一名研究生,专业是动力机械及工程.我用这个Simulink和DSP做内燃机控制,其实matlab应用非常广泛,控制,仿真是主要的,网上有很多的论坛,可以看看,它涉及很多领域,关键是专.如果你能把仿真和控制任何一项做的很好,工作肯定没问题.以后工作得看你自己的方向,看你以后干什么了,根据这个才可以确定你需要用哪些模块,不要懒,想找捷径,别人也都是这样一步一步走过来的.