matlab使用总结2
1.MATLAB中a./b与a/b的区别以及左除和右除 http://blog.csdn.net/wk119911/article/details/7452411
a=[1 2;3 4];
b=[1 2;3 4];
a/b
ans = 1 0 0 1
a./b
ans = 1 1 1 1
a/b相当于a乘b的逆,
a./b是a的每个元素与b的每个元素对应相除
左除 右除
A/B=A*inv(B);
A\B=inv(A)*B;
a=magic(3)
a =
8 1 6
3 5 7
4 9 2
b=pascal(3)
b =
1 1 1
1 2 3
1 3 6
a/b
ans =
27 -31 12
1 2 0
-13 29 -12
a*inv(b)
ans =
27 -31 12
1 2 0
-13 29 -12
a\b
ans =
0.0667 0.0500 0.0972
0.0667 0.3000 0.6389
0.0667 0.0500 -0.0694
inv(a)*b
ans =
0.0667 0.0500 0.0972
0.0667 0.3000 0.6389
0.0667 0.0500 -0.0694
a/b-(b'\a')'
ans =
0 0 0
0 0 0
0 0 0
综上所述:
A\B : 表示inv(A)*B 解A*x=B
B/A:表示B*inv(A) 解X*A=B
2.已知离散点坐标(X,Y非均匀分布),如何用matlab绘制曲面图
http://www.ilovematlab.cn/thread-116850-1-1.html
http://blog.163.com/alex_shoal/blog/static/216070313201332052529362/
http://wenku.baidu.com/link?url=M55ZXvAJ8FtZSW0a0GOHGBp4jF7iC-U48F7Fui8d8i21_58AmY8Ds4p8NLs0GtF7IGIDoQKarHJdVLMUQk0n1JcbSw8Th108XdIfejsgGRC
在Matlab中根据离散点坐标绘制空间曲面
方法一:使用Matlab内部函数griddata进行插值
% 读取离散点坐标(x,y,z)数据文件,生成空间曲面
% 数据文件格式为:每行分别为x、y和z坐标,各数值之间以空格作为分隔符
clc; clear;
load Points.txt; %读取数据文件
x=Points(:,1);
y=Points(:,2);
z=Points(:,3);
% 下面三行为测试数据,分别是9个离散点的xyz坐标
x=[ 1 2 3 1 2 3 1 2 3 ];
y=[ 1 1 1 2 2 2 3 3 3 ];
z=[ 5 5 5 5 2 5 5 5 5 ];
%确定网格坐标(x和y方向的步长均取0.1)
[X,Y]=meshgrid(min(x):0.1:max(x),min(y):0.1:max(y));
%在网格点位置插值求Z,注意:不同的插值方法得到的曲线光滑度不同
Z=griddata(x,y,z,X,Y,'v4');
%绘制曲面
figure(1)
surf(X,Y,Z)
title 'Points to Surface by griddata'
hold on
plot3(x,y,z,'*')
3.