This discussion focuses on finding the value of 'x' that minimizes a function 'y' using MATLAB. Users are advised to utilize the MATLAB functions min() and diff() for determining minimum values and plotting multiple data series. The discussion also emphasizes the use of loops to automate the plotting of different data series without rewriting the code for each series. Key MATLAB commands mentioned include plot(), hold on, and hold off.
PREREQUISITES
Familiarity with MATLAB programming environment
Understanding of calculus concepts related to finding minima
Knowledge of MATLAB vector operations
Basic plotting techniques in MATLAB
NEXT STEPS
Learn how to use MATLAB's fminunc() function for optimization tasks
Explore MATLAB's symbolic toolbox for advanced function analysis
Research MATLAB's for loops and their application in data processing
Study the use of polyder() for polynomial differentiation in MATLAB
USEFUL FOR
Mathematics students, data analysts, and engineers who require optimization and data visualization in MATLAB.
#1
btbam91
91
0
Hello.
As stated in the title, I have a function y that is in terms of x. How do I go about determing the 'x' that makes 'y' a minimum?
Think calculus: how can you find a minimum of a function? Then, it's just a matter of telling MATLAB to do this.
#3
btbam91
91
0
Duhhh, I guess I was just being lazy and expecting a MATLAB function to handle it for me.
Thanks!
#4
manyoolo
8
0
Hi
Is there anyone help me with Matlab
I have got different data series of x and y, and want to plot them in a single xy plot using a single written program, can you advice?
Emmanuel
#5
jhae2.718
Gold Member
1,184
20
@btbam91:
If you have data in vector form, you can use diff() or polyder(). You might actually be able to do:
Code:
[yMin I] = min(y)
% corresponding x is:
x(I)
Symbolically, you can use diff() and then solve().
@manyoolo:
"hold on" will allow multiple data to be plotted on the same plot.
#6
Chrisas
152
0
manyoolo said:
Hi
Is there anyone help me with Matlab
I have got different data series of x and y, and want to plot them in a single xy plot using a single written program, can you advice?
Emmanuel
This:
plot(x1,y1,x2,y2,x3,y3);
or if all x and y's are same length:
plot( [ x1 x2 x3 ], [ y1 y2 y3]);
or as already mentioned:
plot(x1, y1);
hold on;
plot(x2, y2);
plot(x3, y3);
hold off;
#7
manyoolo
8
0
jhae2.718 said:
@btbam91:
If you have data in vector form, you can use diff() or polyder(). You might actually be able to do:
Code:
[yMin I] = min(y)
% corresponding x is:
x(I)
Symbolically, you can use diff() and then solve().
@manyoolo:
"hold on" will allow multiple data to be plotted on the same plot.[/QUO
Dear
This is what I have
h=4.14*10^-15;%eV.s
c=3*10^8%m/s^2
d=124.38*10^-9%m;
lambda= (W50)*10^-9%m
T=T50./100;
y=-(log(T));
alpha=y*(1/d);
nu=(1./lambda).*c;
A=nu.*(alpha).*(h);
D=sqrt(A)
B=nu.*(h);
%plot (B,D, 'om')
hold on
h=4.14*10^-15;%eV.s
c=3*10^8%m/s^2
d=93.06*10^-9%m;
lambda= (W47)*10^-9%m
T=T47./100;
y=-(log(T));
alpha=y*(1/d);
nu=(1./lambda).*c;
A=nu.*(alpha).*(h);
D=sqrt(A)
B=nu.*(h);
%plot (B,D, 'og')
this programs give me good plots in single xy plane
AND my goal is to write only one program in which the program will be able to go and pick the data series ie (W50,T50), (W47, T47)...and plot the graphs without necessarily repeat writing the program for each data series
Hope you got my point
#8
viscousflow
270
0
manyoolo said:
this programs give me good plots in single xy plane
AND my goal is to write only one program in which the program will be able to go and pick the data series ie (W50,T50), (W47, T47)...and plot the graphs without necessarily repeat writing the program for each data series
Hope you got my point