error using solve function
1 次查看(过去 30 天)
显示 更早的评论
hi,
I use the function solve to determine a variable as follows:
x = solve (cos (x) * sin (y) * cos (z) + sin (Z) = 1 ',' x ')
then I evaluated x in terms of y and z, when I replace x by the value finding the equation is not = 1!!
how can i resolve it?
0 个评论
回答(1 个)
Walter Roberson
2015-5-13
Are x and y and z symbolic at the time you call solve? Or are y and z numeric?
If they are symbolic and you later substitute in numeric y and z to the solve() response get a numeric x, and then substitute the numeric x, y, and z into the cos (x) * sin (y) * cos (z) + sin (Z) formula, then you could get something other than 1 due to round-off error.
Also, if your y and z are square matrices of numeric values, then cos (x) * sin (y) * cos (z) would succeed but what not be what you want: you would need to evaluate
cos(x) .* sin(y) .* cos(z)
Notice the ".*" instead of "*" if you are working with vectors or matrices.
4 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Symbolic Math Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!