# Data type symfun (code problem)

25 Ansichten (letzte 30 Tage)
Patryk am 22 Mai 2024 um 14:35
Verschoben: Torsten am 22 Mai 2024 um 17:48
Follow these steps to obtain expressions for the critical values ​​of f(x)=x^(3/5)*(4-x)^(1/3):
1. Define the symbolic function f(x) corresponding to the above formula.
2. Use the diff function to differentiate f(x) and define the symbolic function df(x).
3. Use the numden function to obtain symbolic expressions for the numerator and denominator of df(x) and store them in the variables n and d, respectively.
4. Use the solve function to solve the equations n(x)=0 and d(x)=0. Assign them to the nzeros and zeroros variables respectively.
I have a problem, for this task:
Use the solve function to solve the equations n(x) = 0 and d(x)=0.
Here is my code:
syms x
f(x) = x^(3/5) * (4 - x)^(1/3);
df(x) = diff(f(x));
[n d] = numden(df(x));
nzeros = solve(n == 0);
dzeros = solve(d == 0);
%%%%%%% Kod rysujący jest poniżej %%%%%%%%
figure; hold on; grid on;
fplot(f(x),'LineWidth',2);
fplot(df(x),'LineWidth',2);
ylim([-6,6]);
legend('\$f(x)\$','\$f''(x)\$','Interpreter','latex','FontSize',14);
Assign them to the "nzeros" and "dzeros" I can't write lines 5 and lines 6 of the code correctly
Code error:
Variable n must be of data type symfun. It is currently of type sym. Check where the variable is assigned a value.
I tried replacing the code like this:
syms x
f(x) = x^(3/5) * (4 - x)^(1/3);
df(x) = diff(f(x));
[n d] = numden(df(x));
nzeros = solve(symfun(n,x) == 0);
dzeros = solve(symfun(d,x) == 0);
%%%%%%% Kod rysujący jest poniżej %%%%%%%%
figure; hold on; grid on;
fplot(f(x),'LineWidth',2);
fplot(df(x),'LineWidth',2);
ylim([-6,6]);
legend('\$f(x)\$','\$f''(x)\$','Interpreter','latex','FontSize',14);
However, the same error message keeps popping up.
Can anyone help?
##### 0 Kommentare-2 ältere Kommentare anzeigen-2 ältere Kommentare ausblenden

Melden Sie sich an, um zu kommentieren.

### Antworten (2)

Torsten am 22 Mai 2024 um 14:43
If your MATLAB release throws an error (R2024a does not as you can see above), try
[n(x) d(x)] = numden(df(x))
[n d] = numden(df(x))
##### 1 Kommentar-1 ältere Kommentare anzeigen-1 ältere Kommentare ausblenden
Patryk am 22 Mai 2024 um 14:51
Verschoben: Torsten am 22 Mai 2024 um 17:48
replacing [n d] = numden(df(x)) with [n(x) d(x)] = numden(df(x)) helped! Thank you very much :)

Melden Sie sich an, um zu kommentieren.

Paul am 22 Mai 2024 um 14:44
Hi Patryk,
Works o.k. here. What version of Matlab are you using?
syms x
f(x) = x^(3/5) * (4 - x)^(1/3);
df(x) = diff(f(x));
[n d] = numden(df(x))
n =
d =
nzeros = solve(n == 0)
nzeros =
dzeros = solve(d == 0)
dzeros =
##### 1 Kommentar-1 ältere Kommentare anzeigen-1 ältere Kommentare ausblenden
Patryk am 22 Mai 2024 um 14:49
Verschoben: Torsten am 22 Mai 2024 um 17:48
I use Matlab online

Melden Sie sich an, um zu kommentieren.

### Kategorien

Mehr zu Calculus finden Sie in Help Center und File Exchange

R2023b

### Community Treasure Hunt

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

Start Hunting!

Translated by