problem in functin (y for x)
1 次查看(过去 30 天)
显示 更早的评论
Hy i have a problem in the flowing code (XZData.m function)
function [x,y] = XZData(A,B,C)
x = 0:1:10;
y = (A*x^2)+(B*x)+C;
XY = ['XData', num2str(x), 'yData', num2str(y)];
disp(XY)
0 个评论
采纳的回答
Star Strider
2017-3-1
编辑:Stephen23
2017-3-1
Use element-wise exponentiation in the ‘y’ assignment:
y = (A*x.^2)+(B*x)+C;
↑ ← INSERT ‘.’ HERE
function [x,y] = XZData(A,B,C)
x = 0:1:10;
y = (A*x.^2)+(B*x)+C;
XY = ['XData ', num2str(x), ' yData ', num2str(y)];
disp(XY)
end
0 个评论
更多回答(2 个)
John D'Errico
2017-3-1
编辑:John D'Errico
2017-3-1
It makes it easier to get help if you report the (COMPLETE) error message that you got. Help those who would help you.
In this case though, the problem is that you need to learn about the elementwise operators, like .* ./ and .^ , since that is where your immediate problem arises.
Change the computation of y to this:
y = (A*x.^2)+(B*x)+C;
x is a vector. You wish to compute the square of each element of x, so use the .^ operator.
Admittedly, I think your next problem is that you won't like how that line gets displayed in the call to disp. It will be one long line of text. But that is for you to decide.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!