Matlab 3 variable function plot

32 Ansichten (letzte 30 Tage)
Zeynab Mousavikhamene
Zeynab Mousavikhamene am 7 Mai 2020
Kommentiert: Ameer Hamza am 10 Mai 2020
The equation is:
f(X1,X2,X3)=bt1.x1+bt2.X2+bt3.X3+b1
bt1 to bt3 and b1 are all constants.
and I want to plot it in 3D. I tried a couple of functions like:
figure
syms x1 x2 x3
fimplicit3(Beta(1)*x1+Beta(2)*x2+Beta(3)*x3+b(1))
but it retunrs nothing.
  6 Kommentare
Tommy
Tommy am 8 Mai 2020
I believe nothing shows because there are no solutions within the default interval [-5 5]. But yes, maybe I incorrectly assumed you were trying to plot solutions to f=0.
Zeynab Mousavikhamene
Zeynab Mousavikhamene am 8 Mai 2020
You are right I am plotting solution for f=0. I changed the interval and did not show anything.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Ameer Hamza
Ameer Hamza am 7 Mai 2020
fimplicit3 is used to plot implicit equations with three variables. What you have is 4D data (3 input variables, 1 output variable). You need to use a 4D visualization function, like slice(), to visualize your function. See this example
Beta(1)= -294449.131783462;
Beta(2)=14.7170998874722;
Beta(3)=-0.127560549560172;
b(1) = 87293272725.0805;
f=@(x1,x2,x3) Beta(1).*x1+Beta(2).*x2+Beta(3).*x3+b(1);
[X1,X2,X3] = meshgrid(linspace(-1,1));
V = f(X1,X2,X3);
slice(X1, X2, X3, V, [-0.5 0.5], 0.3, 0)
colorbar
shading interp
  4 Kommentare
Zeynab Mousavikhamene
Zeynab Mousavikhamene am 10 Mai 2020
when I use zlime even in the surf case, the plot show nothing.
Ameer Hamza
Ameer Hamza am 10 Mai 2020
I haven't used zlim in my code in the comment. Have you tried running that code?

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Tommy
Tommy am 8 Mai 2020
You can pick any interval. Your plot will only show something if solutions to f=0 lie within the interval. [0, 0, -b1/Beta(3)] is a clear solution. -b1/Beta(3) is on the order of 1e11, so how about this:
Beta(1)= -294449.131783462;
Beta(2)=14.7170998874722;
Beta(3)=-0.127560549560172;
b(1)=87293272725.0805;
f=@(x1,x2,x3) Beta(1).*x1+Beta(2).*x2+Beta(3).*x3+b(1);
fimplicit3(f, [-5 5 -5 5 1e10 1e12])

Kategorien

Mehr zu Linear and Nonlinear Regression finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by