MATLAB中的转置操作及其必要性

MATLAB中的转置操作及其必要性

原始数据

matlab 复制代码
x_data = [0, 50, 100, 200, 400, 600, 800, 1000, 1500, 2000, 3000, 5000]; 
y_data = [0, 0.25, 0.5, 0.85, 1.2, 1.35, 1.45, 1.52, 1.62, 1.68, 1.75, 1.85];

原始数据是行向量.

当调用plot命令时, 且x_datay_data是一维向量, 即是一个 1×n1 \times n1×n(行)或 n×1n \times 1n×1(列)的向量,MATLAB将会正确绘制图像.

matlab 复制代码
%% 原始数据
x_data = [0, 50, 100, 200, 400, 600, 800, 1000, 1500, 2000, 3000, 5000]; 
y_data = [0, 0.25, 0.5, 0.85, 1.2, 1.35, 1.45, 1.52, 1.62, 1.68, 1.75, 1.85];




%% 查看维度
disp('x_data 维度:'); disp(size(x_data)); % 输出 [1, 12](1行12列)
disp('y_data 维度:'); disp(size(y_data)); % 输出 [1, 12](1行12列)

plot(x_data, y_data);

%% 转置

x_data = x_data';
y_data = y_data';

figure;

% 两者绘制的图像一样
plot(x_data, y_data);

转置

MATLAB 中,单引号 ' 表示复共轭转置(也叫 Hermitian 转置), 对于实数数组, 它的作用就是普通的行列转置(将行向量转为列向量, 或列向量转为行向量); 若为复数数组, 它会先对元素取共轭, 再进行转置.

如果需要严格的普通转置(不进行共轭操作), 可使用点单引号 .', 对于实数数组而言, '.' 效果完全一致.

相关推荐
Yingye Zhu(HPXXZYY)6 分钟前
洛谷B4337 [中山市赛 2023] 简单数学题
c++·算法
郝学胜-神的一滴8 分钟前
C++11 工程级应用 12:编译期类型魔法,干掉重复与臃肿的代码
开发语言·数据结构·c++·软件工程·visual studio
pen-ai15 分钟前
【优化方法】为什么梯度是最陡峭的方向?
人工智能·算法·机器学习·最小二乘法
个 人 练 习 生18 分钟前
数据结构:排序算法详解
c语言·数据结构·经验分享·学习·算法·排序算法
m0_7345717618 分钟前
深入理解C++ 析构函数<四>虚析构函数
开发语言·c++
芒鸽23 分钟前
把 Agent 运行时做成插件系统:agent-harness(openJiuwen Rust版) 的实践
开发语言·后端·rust
Brilliantwxx24 分钟前
【STM32】 I2C 外设内部硬件结构和状态位
开发语言·stm32·单片机·嵌入式硬件
青山木25 分钟前
枚举类DP进阶:完全平方数与零钱兑换
java·数据结构·算法·leetcode·动态规划
小七在进步28 分钟前
类和对象(二)
java·开发语言
CHHH_HHH30 分钟前
【Linux系统篇】进程间通信揭秘:从管道到共享内存
linux·服务器·c语言·开发语言·后端·ubuntu