How to solving and plot only one non-linear equation with two or one variables without using ezplot
Afficher commentaires plus anciens
I want to solve and plot one non linear equation with two variables k and f, the equation is shown here, where k varies from 0 to 1. The other algebras are given.
(((2*pi*f).^2)/((2*pi*fv).^2)-1)*((2-(((2*pi*f).^2)/((k.^2)*(cs.^2))).^2)-4*((1-(((2*pi*f).^2)/((k.^2)*(cs.^2)))).^0.5)*((1-(((2*pi*f).^2)/((k.^2)*(cl.^2)))).^0.5)-m*(((2*pi*f).^4)/(A*(cs.^4)*den*(k.^3)))*((1-(((2*pi*f).^2)/((k.^2)*(cl.^2)))).^0.5))=0
For every k value, there are more than one possible solutions for f value, where the f value can be in form complex number and is limited from 0 to 20.
However, it gives 'The input to FSOLVE should be either a structure with valid fields or consist of at least two arguments.' after running the command.
Apart from that, i actually want to plot a continous function rather than scattering the point if it is possible. I don't want to use ezplot because the plot is not correct. Thankyou
clc
clear all
syms k f
cs = 121;
cl = 227;
A = (1.3^2)*(3^0.5)/2;
den = 1300;
m = 6700;
fv = 4.9;
k=0:0.01:1;
fun = @(f) ((2*pi*f).^2)/((2*pi*fv).^2)-1)*((2-(((2*pi*f).^2)/((k.^2)*(cs.^2))).^2)-4*((1-(((2*pi*f).^2)/((k.^2)*(cs.^2)))).^0.5)*((1-(((2*pi*f).^2)/((k.^2)*(cl.^2)))).^0.5)-m*(((2*pi*f).^4)/(A*(cs.^4)*den*(k.^3)))*((1-(((2*pi*f).^2)/((k.^2)*(cl.^2)))).^0.5)));
fsolve(fun, [0, 20])
scatter(k,f)
ylim([0 20]);
xlim([0 1])
Réponses (1)
darova
le 14 Fév 2020
Numerical way
[K,F] = mehsgrid(-10:10);
Z = your_function
contour(K,F,Z,[0 0]) % contour at 0 level
11 commentaires
Tak Yeung POON
le 14 Fév 2020
Tak Yeung POON
le 14 Fév 2020
darova
le 14 Fév 2020
What do you see?

Tak Yeung POON
le 15 Fév 2020
darova
le 15 Fév 2020
This is how your plot looks like if
surf(K,F,Z)

So contour at level 0 is correct

Tak Yeung POON
le 15 Fév 2020
darova
le 15 Fév 2020
Do you have polyxpoly?
Tak Yeung POON
le 15 Fév 2020
darova
le 15 Fév 2020
try this script
Tak Yeung POON
le 17 Fév 2020
darova
le 17 Fév 2020
What about interp1? fsolve is used for equations
Catégories
En savoir plus sur Mathematics dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
