我试图在下面绘制球体函数,但我得错了结果
以下是我使用
的代码x1 = [-10:1:10];
x2 = [-10:1:10];
y = zeros(1,21);
for i = 1:21
y(i) = sphere([x1(i) x2(i)]);
end
Y = meshgrid(y);
surf(x1,x2,Y);
colormap hsv;
sphere.m
function [y] = sphere(x)
d = length(x);
sum = 0;
for i = 1:d
sum = sum + x(i)^2;
end
y = sum;
end
答案 0 :(得分:0)
sphere(10)
这是一个内置功能的MatLab。
请负责任地享受。
如果您需要查看源代码,请在球体功能不在路径上时使用:edit sphere
或help sphere
。
答案 1 :(得分:0)
为了完整性,你的代码不起作用,因为你只是在[-10,10]中对某些x \的对(x,x)上的函数进行评估,所以你不会覆盖整个域。它适用于此:
x1 = meshgrid([-10:1:10]);
x2 = x1';
Y = x1.^2+x2.^2;
surf(x1,x2,Y)
或更快(因为出于计算时间原因,应始终避免不必要的循环):
Rect bounds = new Rect();
Paint textPaint = textView.getPaint();
textPaint.getTextBounds(text,0,text.length(),bounds);
int height = bounds.height();
int width = bounds.width();