saving a matrix
1 次查看(过去 30 天)
显示 更早的评论
Hi,
I am trying to compare my two codes , which should give same results. Both code have the same variable names such as vx vz. I am trying to calculate velecotiy profiles. For that I open to Matlabs and run both codes . Than I write
vz1=vz; save ( ' FT','vza')
and I load FT in the other matlab window, but it directly takes vz values in the the program. And I get 0 as difference, where I should be getting something around 1e-15 ( I know that because I copy paste the results from one to other).
Is there a way to solve my problem witouth changing the variable names?
2 个评论
采纳的回答
Matt Fig
2011-2-14
When you load, use the functional form of LOAD in order to avoid overwriting your variables.
X = load('FT');
% Then use X.vz, etc.
.
.
.
.
.
EDIT
As I state below in the comment, copy paste is not reliable with floating points. I want to say it again here so the formatting is better.
format long
pi % copy this and paste below
pi- 3.14159265358979
ans =
3.10862446895044e-015
2 个评论
Matt Fig
2011-2-15
If you did what I showed above and got zero difference, I have to question the method you used to find a real difference. Copy and paste with floating point numbers is often unreliable. Try this:
format long
pi % Now copy this using ctrl+c
pi- 3.14159265358979
ans =
3.10862446895044e-015
更多回答(2 个)
Robert Cumming
2011-2-15
The error could be coming from the copy/paste between the two matlabs.
Are you 100% sure that you have different values?
When I do the same as your doing I get a max of 0 (as you do), and if I copy the data from the editor from 1 matlab to another I get an difference of ~1e-15.
But I know my numbers are exactly the same, so the difference is definately coming from the copy and paste step.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Whos 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!