Finding the x that makes y minimum in MATLAB.

  • Thread starter Thread starter btbam91
  • Start date Start date
  • Tags Tags
    Matlab Minimum
Click For Summary
SUMMARY

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.

btbam91
Messages
91
Reaction score
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?

Thanks!
 
Physics news on Phys.org
Think calculus: how can you find a minimum of a function? Then, it's just a matter of telling MATLAB to do this.
 
Duhhh, I guess I was just being lazy and expecting a MATLAB function to handle it for me.

Thanks!
 
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
 
@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.
 
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;
 
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
 
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

Use a for loop and place hold off at the end.
 

Similar threads

  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 10 ·
Replies
10
Views
2K
  • · Replies 10 ·
Replies
10
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 1 ·
Replies
1
Views
5K
  • · Replies 2 ·
Replies
2
Views
1K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 11 ·
Replies
11
Views
2K