【问题标题】:MATLAB - Plotting matrices of different size on same plot - error in plot functionMATLAB - 在同一绘图上绘制不同大小的矩阵 - 绘图函数中的错误
【发布时间】:2016-08-15 12:33:45
【问题描述】:

我正在从三个文件中导入数据并对其进行解析以从每个文件中获取时间和电压值。这些值需要在同一个图上相互绘制。

数据总共保存在六个矩阵中,三个数据集各一个用于时间,一个用于电压。

矩阵尺寸:matlab 数据集:1000x1,ltspice:465x1,示波器:2500x1。

matlab在使用plot函数时发现错误:

plot(matlab_t,matlab_v,'k',ltspice_t,ltspice_v,'j',oscope_t,oscope_v,'g');

这是一个问题,因为矩阵维度在独立集和依赖集之间有所不同吗?

脚本的完整代码:

clear;
clc;

%% Import
%Read in files

matlab_t=dlmread('ENGR_222_Project_1_data.csv',',',[16 0 1015 0]);
matlab_v=dlmread('ENGR_222_Project_1_data.csv',',',[16 1 1015 1]); 

ltspice_t=xlsread('ltspicedata_excel.xlsx','A1:A465');
ltspice_v=xlsread('ltspicedata_excel.xlsx','B1:B465');

oscope_t=xlsread('oscope_data.xlsx','D1:D2500');
oscope_v=xlsread('oscope_data.xlsx','E1:E2500');

%% Plot

plot(matlab_t,matlab_v,'k',ltspice_t,ltspice_v,'j',oscope_t,oscope_v,'g');

【问题讨论】:

  • 是的。您需要 X 轴和 Y 轴具有相同的尺寸才能绘制图形。使两个维度相同,您应该能够绘制图表
  • @AswinPJ 我该怎么做?每个时间矩阵的时域增量不同。
  • 你能用matlab_t、matlab_v、ltspice_t、ltspice_v和scope_t、scope_v的维度更新问题吗?
  • 这很可能是因为您的时间和电压矩阵有不同的维度。 matlab_t 和 matlab_v 的尺寸应该相同。 ltspice_v 和 ltspice_t 也应该如此。还有 oscope_t,oscope_v。
  • @AswinPJ 你是对的。我已经使用您的评论回答了我自己的问题。

标签: matlab matrix plot


【解决方案1】:

要在同一个图上绘制多个矩阵,每个矩阵必须具有相同的维度。在我们有两个 465 X 1 矩阵、两个 1000 X 1 矩阵和两个 2500 X 1 矩阵的情况下,所有矩阵的维度都必须是 2500 X 1。

要增加较小矩阵的维度,请将矩阵重新定义为该大小并将空单元格设置为零。

这是在以下代码中完成的:

matlab_t(2500,1)=0;
matlab_v(2500,1)=0;
ltspice_t(2500,1)=0;
ltspice_v(2500,1)=0;

使用修复完成代码:

clear;
clc;

%% Import
%Read in files

matlab_t=dlmread('ENGR_222_Project_1_data.csv',',',[16 0 1015 0]);
matlab_v=dlmread('ENGR_222_Project_1_data.csv',',',[16 1 1015 1]); 

ltspice_t=xlsread('ltspicedata_excel.xlsx','A1:A465');
ltspice_v=xlsread('ltspicedata_excel.xlsx','B1:B465');

oscope_t=xlsread('oscope_data.xlsx','D1:D2500');
oscope_v=xlsread('oscope_data.xlsx','E1:E2500');

% Redefine matrices to equal size

 matlab_t(2500,1)=0;
 matlab_v(2500,1)=0;
 ltspice_t(2500,1)=0;
 ltspice_v(2500,1)=0;

 %% Plot

plot(matlab_t,matlab_v,'k',ltspice_t,ltspice_v,'j',oscope_t,oscope_v,'g');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-15
    • 2021-12-11
    • 1970-01-01
    • 2018-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多