Error using .* Matrix dimensions must agree.
1 次查看(过去 30 天)
显示 更早的评论
Hi,
I got a trouble when I tried to load the date file and update the new balance.
Here is my atm.mat file
password = 'ucsdmate'
balance = num1str(9.5405*100,'%10.2f%')
recentdate= datenum(now)
rate = num2str(0.02*100,'%5.2f%%')
And here is what my problem.
firstdate = datenum(2012,11,04);
days = abs(recentdate - firstdate);
newbalance = balance.*((1+rate).^days);
disp ('Your balance from %d is %10.2f',firstdate,newbalance)
It said Error using .* Matrix dimensions must agree. I don't know where the problem is, I have already used .* but it still didnt work for me
0 个评论
采纳的回答
the cyclist
2014-11-5
It seems like you have converted numeric values to strings (for example rate and balance), but then you are trying to use those strings in numeric operations.
Why are you using num2str?
3 个评论
Adam
2014-11-5
You should keep all numbers as numbers and convert to strings only where needed. If you have to do subsequent maths on something converting it to and from string is just not efficient.
Either convert to strings only in disp or do it only at the end of the maths or even keep another variable representing the string though unless you want to use OOP and dependent properties I would not recommend the last solution.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Characters and Strings 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!