[x,y] = meshgrid(-3:1:3);
z = 1.5*x - 3;
mesh(x,y,z);
p = -1.5*pi;
q = -pi/2;
r = 0;
for i = 1:1:10
pause(0.1);
p = p + (0.0173*5);
q = q + (0.0173*5);
r = r + (0.0173*5);
a1 = 3*cos(p); b1 = 3*sin(p); c1 = -3;
a2 = 3*cos(q); b1 = 3*sin(q); c2 = -3;
a3 = 2*cos(r); b3 = 2*sin(r); c3 = 0;
syms a b c d
eq1 = 'a1*a + b1*b +c1*c -d =0';
eq2 = 'a2*a + b2*b + c2*c -d=0';
eq3 = 'a3*a + b3*b +c3*c -d =0';
[a,b,c] = solve(eq1,eq2,eq3,'a,b,c');
a = a/d;b = b/d; c = c/d;
disp(a);disp(b);disp(c);
z = -(a*x + b*y)/c;
mesh(x,y,z);
end
sir with the above code i am not able to get the interger value of a,b,c;the solution for this is
-(-b1*c2+b1*c3+b2*c1-b3*c1+b3*c2-b2*c3)/(-a1*b3*c2+a1*b2*c3+a3*b1*c2-b2*a3*c1+b3*a2*c1-a2*b1*c3)
(-a1*c2+a1*c3-a3*c1-a2*c3+a2*c1+a3*c2)/(-a1*b3*c2+a1*b2*c3+a3*b1*c2-b2*a3*c1+b3*a2*c1-a2*b1*c3)
(-b2*a3+a1*b2-a1*b3+b3*a2+a3*b1-a2*b1)/(-a1*b3*c2+a1*b2*c3+a3*b1*c2-b2*a3*c1+b3*a2*c1-a2*b1*c3)
so can anyone tell me how to access a1,b1,c1 in solve function.can use any other method for this thank you

 Réponse acceptée

Alexander
Alexander le 5 Juin 2012

0 votes

Try this:
a = double(subs(a)); b = double(subs(b)); c = double(subs(c));
Like here:
[x,y] = meshgrid(-3:1:3);
z = 1.5*x - 3;
mesh(x,y,z);
p = -1.5*pi;
q = -pi/2;
r = 0;
for i = 1:1:10
pause(0.1);
p = p + (0.0173*5);
q = q + (0.0173*5);
r = r + (0.0173*5);
a1 = 3*cos(p); b1 = 3*sin(p); c1 = -3;
a2 = 3*cos(q); b2 = 3*sin(q); c2 = -3;
a3 = 2*cos(r); b3 = 2*sin(r); c3 = 0;
syms a b c d
eq1 = 'a1*a + b1*b +c1*c -d =0';
eq2 = 'a2*a + b2*b + c2*c -d=0';
eq3 = 'a3*a + b3*b +c3*c -d =0';
[a,b,c] = solve(eq1,eq2,eq3,'a,b,c');
a = a/d;b = b/d; c = c/d;
a = double(subs(a)); b = double(subs(b)); c = double(subs(c));
disp(a);disp(b);disp(c);
z = -(a*x + b*y)/c;
mesh(x,y,z);
end
Please note that I renamed one of your b1 to b2.

Plus de réponses (1)

Andrei Bobrov
Andrei Bobrov le 5 Juin 2012

0 votes

[x,y] = meshgrid(-3:1:3);
pqr = reshape(bsxfun(@plus,[-1.5;-.5;0]*pi,(1:10)*0.0173*5),3,1,[]);
abc = cat(2,cos(pqr),sin(pqr),bsxfun(@times,[-1;-1;0]*3,ones(1,1,10)));
o3 = ones(3,1);
for jj = 1:size(abc,3)
b = abc(:,:,jj)\o3;
mesh(x,y,-(b(1)*x + b(2)*y)/b(3));
pause(0.5);
end

Catégories

En savoir plus sur Data Import and Export dans Centre d'aide et File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by