一个MATLAB基础问题 为什么他会显示 错误使用 plot 矢量长度必须相同。

作者&投稿:邬哗 (若有异议请与网页底部的电邮联系)
matlab程序报错,错误使用 plot 矢量长度必须相同~

plot(t,r(t),'ro') 这样写才对。那个for循环根本没用
plot函数画图时,x,y数组的长度要相等,长度要相同。
可以在plot函数前设置断点,看下plot(k,error);,k和error分别是多少。因为代码里有sim('untitled1');因为matlab处理的是数字信号,就是非连续的信号(离散的),想要画出一个图形,横纵坐标必长度必须相同,不然纵坐标的某一个点没有对应的横坐标,反之亦然。

扩展资料:
Matlab包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。新版本的MATLAB语言是基于最为流行的C++语言基础上的,因此语法特征与C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。使之更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。
参考资料来源:百度百科-MATLAB

题主的问题出在f和Y的数据长度不一致。
可以通过修改t和N值,就可以正常出图。即下列两处

T=1e-2;
N=400; 增加
t=linspace(0,2,N/2);%t=0:0.001:2;
。。。
subplot(212);
%N=200;
修改后运行,可以得到如下结果



问题关键的错误是 i=2:(n+1)中(n+1),应该为(n+3)。因为你想预测2016到2019的数据,2019-2016=3,而不是1。

修改后运行可以得到如下图形。




matlab编程入门需要怎么做?
入门需要做下面几个方面事:1、M语言编程。这是所有Matlab操作的基础,Matlab的所有功能都是通过M语言来实现的。M语言是一种简单的脚本语言,学习M语言,要学会基本的语句,还要能够掌握基本的文件IO,GUI开发,数据导入,矩阵操作等等。2、科学计算。科学计算是matlab最为强大的功能之一,这一部分的学习实...

Matlab基础 学习笔记2-矩阵
Matlab基础学习笔记2 - 矩阵篇Matlab中提供了多种特殊矩阵,如全0矩阵(zeros(m) 或 zeros(m,n)),全1矩阵(ones(m)),对角线为1的矩阵(eye(n)),以及生成随机数的矩阵(rand 和 randn)。其中,zeros(size(A)) 可以生成与给定矩阵A相同大小的全0矩阵。此外,还有一些具有特定性质的矩阵,如魔方...

MATLAB基础及在信号与系统中的应用目录
MATLAB基础篇,深入理解其在信号与系统中的关键应用。第1章,MATLAB 7概览,讲述了MATLAB的发展历程,从其诞生至今的演变过程,以及MATLAB独特的系统结构,包括其丰富的工具箱,为后续操作提供了强大支持。第2章,MATLAB 7工作环境,详尽解析了软件的安装步骤,以及如何顺利启动和退出程序。工作界面的详细介绍...

MATLAB基础与编程入门内容简介
本书旨在为读者提供全面而深入的MATLAB基础知识和编程入门教程。它首先剖析了MATLAB产品的整体架构,详细讲解了MATLAB桌面工具的操作流程,让读者能够快速上手。M语言编程这部分,书中精心设计了实例,使学习者能逐步掌握编程技巧。章节中,读者会了解到如何通过MATLAB进行数据的可视化和基本分析处理,这都是MATL...

MATLAB入门---MATLAB计算基础
在MATLAB中,变量无需预定义,只需在命令中合法出现一次即可定义,这提供了极大的灵活性。变量名需遵循一定的规则,如区分大小写、以字母开头、不能包含空格等。常量如虚数单位i,既可以用作数学运算,也可作为变量使用。数值的显示和格式由format命令控制,MATLAB以双精度浮点数进行运算,结果以多种形式...

初学matlab需要什么基础吗
初学matlab最需要是数学基础,如矩阵(最基础的),函数、方程、高等数学、数值分析、线性代数、统计、优化、运筹学等基本知识,还需要最基础的编程语言方法(如你熟知VB或VC等语言就很容易入门了)。

matlab学会需要多久
学习matlab需要掌握简单的数学基础、编程基础,需要了解矩阵的含义、需要有基本查找资料的能力,一般学会2~3月就够了,但是对于不同的用户来说接受能力以及理解能力也是不同的,因此也是要看个人能力的。总的来说,matlab相对来说还是比较容易上手的,如果只是想学MATLAB编程,即便没有编程语言的基础也是可以...

Matlab基础入门手册(第三章:运算符)
1.基本运算中数组大小的兼容性(2016b) 2.说明 这里兼容性是指,两个大小不同的数组是否能够进行运算 两个完全相同大小的数组可以运算 其中之一是标量的两个大小不同的数组可以运算 一个是行向量,一个是列向量,可以运算 一个是矩阵,一个是具有相同行数的列向量,可以运算 一个是矩阵,一个是具有相同列数的行向...

MATLAB基础及应用目录
第1章 认识MATLAB 本章首先介绍MATLAB的概览,包括其特点、优势和应用领域。接着,深入探讨数据运算、矩阵操作、关系运算与逻辑运算,以及文件操作的基本概念和实践。通过实训,读者将对MATLAB数据处理有直观的了解。第2章 MATLAB程序设计 本章围绕M文件、程序流程语句、函数文件,以及编程技巧展开,通过实训...

MATLAB 的基础语法
MATLAB 的基本数据类型包括数字、逻辑值、字符和字符串。其中,数字类型可用整数或浮点数表示。例如:x = 3; y = 2.5;逻辑值仅有真(true)和假(false)两种,常用于条件测试。例如:a = 5; b = 7; a < b % 输出 true 字符用单引号括起来,字符串用双引号括起来。例如:name = 'MATLAB...

罗甸县15675889396: matlab问题 为什么他的结果是INF -
茌须七子: 因为你的函数s(r)在r=0是的值是inf(0的倒数是无穷大)也就是s的第一点s(1)=inf trpaz就是以梯形面积近似计算积分, 由于第一点是inf(无穷大),所以后面计算就是无穷大加上一个有限值 结果还是无穷大inf

罗甸县15675889396: 关于matlab的一个基础问题 -
茌须七子: (1)如楼上t=linspace(0,4*pi,20)(2)直接用y1=sin(t)和y2=cos(2*t) 程序就三个语句:t=linspace(0,4*pi,20);y1=sin(t);y2=cos(2*t);

罗甸县15675889396: 请问matlab怎么会出现这样的现象?怎么想也想不明白! -
茌须七子: 这是因为你没有打分号的原因呀,他这是从10到20,每次迭代的结果都显示出来了. 如果你加了分号,就不会这样了,不过你要记得在end后面加一个语句,就是你要得到谁...

罗甸县15675889396: matlab 为什么 a=1e41 - 1e22;vpa(a,50) 结果还是1e41
茌须七子: 1、首先,明确一个基本概念:MATLAB中最基本的数据类型就是double,其大多数数值运算都是按照double类型进行的.楼上引用的百度百科的内容基本上没什么问题,我就不重复了.但是,出现这个现象的原因与double类型的表示范围无关...

罗甸县15675889396: 关于matlab的初学入门问题? -
茌须七子: 1.建立一个命令文件将变量a,b的值互换:e31.m文件: a=1:9;b=[11,12,13;14,15,16;17,18,19];c=a;a=b;b=c;ab 2.求一元二次方程a2 +bx+c=0的根:a=input('a=?');b=input('b=?');c=input('c=?');d=b*b-4*a*c;x=[(-b+sqrt(d))/(2*a),(-b-sqrt(d))/...

罗甸县15675889396: 请教一个很基础的matlab问题 -
茌须七子: [H,w]=freqs(b,a);是获取滤波器的频响特性.magH=(abs(H)).^2;是求把频响特性的幅值平方,即功率谱

罗甸县15675889396: 一个关于matlab的问题 -
茌须七子: (1)冒号生成法 a:inc:b.其中 inc可以省略,默认为1.所以1:4 就是生成 1 2 3 4 complex(实数,虚数)所以complex(1:4,2:5)和complex(1:2,2:3)的结果如题 (2)','和';'的区别.,表示数元素的分隔.';'表示行与行之间的分隔.所以,...

罗甸县15675889396: 为什么要用matlab编程 -
茌须七子: matlab也是面向对象的.语法和C差不了很多,也只有那几句.但是要学会用矩阵来思考问题.matlab的功能是相当强大的,可不是你想的那样一个计算器而已.

罗甸县15675889396: 为什么我的win7安装matlab时老是显示“出现了一个问题,导致程序无法正常工作.请关闭该程序”?? -
茌须七子: 这个看不出来问题,可以点击调试程序看看能否找出原因.建议:在安装的时候,不要打开其他程序,待Matlab程序完成后,再行运行.

罗甸县15675889396: 在matlab里面这么写总是显示错误:y1=4+x^2/6 - sqrt(x^4/16+16*a^2);..不知道为什么??求问? -
茌须七子: y1=4+x.^2/6-sqrt(x.^4/16+16*a^2); 如果还是不行的话,a后面也加点

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网