Matlab图线旋转如图所示,图线是由一系列数据点连线而成,现在需要将图线开始的直线变成水平的,也就是旋转到开始点与横轴重合.如何操作, e=b(:,2); %b为TXT文档.n=b(:,3);t=b(:,1);z=20/180*pi;x=e*cos(z)
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/20 06:17:20
Matlab图线旋转如图所示,图线是由一系列数据点连线而成,现在需要将图线开始的直线变成水平的,也就是旋转到开始点与横轴重合.如何操作, e=b(:,2); %b为TXT文档.n=b(:,3);t=b(:,1);z=20/180*pi;x=e*cos(z)
Matlab图线旋转
如图所示,图线是由一系列数据点连线而成,现在需要将图线开始的直线变成水平的,也就是旋转到开始点与横轴重合.如何操作,
e=b(:,2); %b为TXT文档.
n=b(:,3);
t=b(:,1);
z=20/180*pi;
x=e*cos(z)+n*sin(z);
y=-e*sin(z)+n*cos(z);
plot(x,y,'r')
输出的图线发生了变化.
Matlab图线旋转如图所示,图线是由一系列数据点连线而成,现在需要将图线开始的直线变成水平的,也就是旋转到开始点与横轴重合.如何操作, e=b(:,2); %b为TXT文档.n=b(:,3);t=b(:,1);z=20/180*pi;x=e*cos(z)
clear
clc
data=[0.0027 0.0161 0.0321 0.0509 0.0705 0.0848 0.0975 0.1090 0.1210 0.1311 0.1481...
0.1525 0.1548 0.1551 0.1587 0.1606 0.1608 0.1657 0.1675 0.1696 0.1716 0.1758...
0.1772 0.1792 0.1804 0.1831 0.1845 0.1845 0.1850 0.2085 0.2235 0.2403 0.2661...
0.3001 0.3295 0.3770 0.4232 0.4623 0.5000;...
0.0799 0.5594 1.1187 1.6781 2.5571 3.1164 3.6196 4.2379 4.7738 5.3509 6.4227...
20.4722 19.2561 21.8737 22.4508 7.5357 18.3492 17.5660 23.4814 16.7009 8.9784 15.4091...
9.6380 14.5362 10.4624 13.5541 11.5754 25.0066 12.6472 26.4906 27.2738 27.9540 28.9639...
30.1666 31.1644 32.3101 33.3219 34.1239 34.9201];
[data(2,:),I2]=sort(data(2,:));
data(1,:)=data(1,I2);
plot(data(1,:),data(2,:),'-k')
hold on
%下面才是旋转代码!
data=[1/0.5,0;0,1/35]*data;
theta=20/180*pi; %顺时针转20度
data=[cos(theta),sin(theta);-sin(theta),cos(theta)]*data;
%直接旋转
data=[0.5,0;0,35]*data;
plot(data(1,:),data(2,:),'-b')
% 旋转后恢复原有范围
data=[0.5/max(data(1,:)),0;0,35/max(data(2,:))]*data;
plot(data(1,:),data(2,:),'-r')
legend('原有数据','直接旋转','旋转后恢复原有范围')