MATLAB How to write this equation within Matlab?

  • Thread starter Thread starter hurryon
  • Start date Start date
  • Tags Tags
    Matlab
AI Thread Summary
The discussion revolves around implementing equations in MATLAB, specifically focusing on calculating expected values related to transition time and distance. The equation provided is E{T} = (ln(v_max / v_min) / (v_max - v_min)) * E{L}, where E{T} and E{L} can be vectors, while v_max and v_min are scalar values representing maximum and minimum speeds, respectively. Participants confirm that MATLAB's rand() function can be used to generate uniform random speed values within the specified range. Additionally, there is a request for assistance with MATLAB code for designing a binary weighted current steering DAC. A user shares a code snippet intended to calculate values based on a matrix but reports issues with the output consistently returning 100. The request for help indicates a need for troubleshooting and guidance on MATLAB coding practices.
hurryon
Messages
9
Reaction score
2
Homework Statement
Hi, guys. I've been reading a paper including some equations. Now, I'd like to write one equation as codes in Matlab. The equation is as following:

E{T} = (ln(v_max / v_min) / v_max - v_min) * E{L}

where E{T} is the expected value of transition time and E{L} is the expected value of transition distance. Also, v_max and v_min mean the maximum speed and the minimum speed, respectively. Note that the speed is a uniform speed distribution within [v_min, v_max].

Thanks in advance.
 
Last edited:
Physics news on Phys.org
Are all these quantities scalars?

- Warren
 
Yes, they are all scalar values. However, E{T} and E{L} can be vectors.
 
Then they aren't all scalars.

Do something like this

Code:
EL = [ 1 2 3 ]
v_min = 1
v_max = 2

ET = (log(v_max / v_min) / (v_max - v_min)) * EL

- Warren
 
Thanks for your kind reply. Could you provide one more? The speed values (v_max and v_min) are in a uniform speed distribution within [v_min, v_max].

How do I write that in Matlab? Shall I just use rand() ? (I just want to confirm from others because I'm not an export within Matlab)

Thanks in advance.
 
You're aware that Matlab has excellent built-in help, right?

Code:
>> help rand
...
Generate uniform values from the interval [a, b].
           r = a + (b-a).*rand(100,1);

If you just want one random number, use:

Code:
v = v_min + (v_max - v_min) * rand();

- Warren
 
Thanks. As you mentioned, Matlab has an excellent help system and I know about that. Sorry, I might annoy you (I just want to get the certain reply from Matlab experts).

Anyway, thanks again!
 
hw to design current steering binary weighted dac in matlab

Hi, anybody can u pls suggest homework to design the dac using binary weighted current steering method in matlab.

thanks
 
How to write this code in Matlab?

M0=100;
var0=100;

for i=1:478
for j=1:448
if(temp(i,j)>M)
G(i,j)=M0+sqrt(double((var0*power((temp(i,j)-M),2))/V));
else

G(i,j)=M0-sqrt(double((var0*power((temp(i,j)-M),2))/V));

Where temp(i,j) is an matrix. This code is not working. I am getting the values of G as 100. Please help me with the correct code. I am new to matlab.
 
Back
Top