
Calculation of two less than equal
조회 수: 6 (최근 30일)
이전 댓글 표시
Hi
C = 139*1 double
I want to calculate : 

댓글 수: 0
답변 (2개)
John D'Errico
2020년 11월 28일
편집: John D'Errico
2020년 11월 28일
You want to solve for a scalar m such that the inequalities are always true? Regardless, does a solution ever exist? Note that unless C > 1, sqrt(C-1) is not real.
fplot(@(C) sqrt(C-1),[1,10])
hold on
fplot(@(C) (1 + sqrt(2*C-1))/2,[1,10])
legend('sqrt(C-1)','1 + sqrt(2*C-1))/2')

You should see that m exists only of C is at least 5. But as long as C is greater than 5, an interval of solutions will exist, for EACH calue of C. We can find the point where the two curves cross.
syms C
solve((1 + sqrt(2*C-1))/2 == sqrt(C-1))
ans =
5
So NO element of C may be less than 5. If that ever happens, then m will not exist. Whem C == 5, M can have only a unique value, thus 2, so the interval collapses to a point.
If you want to solve for a scalar m such that this is ALWAYS true for all values of C, then it is equally trivial, although a solution may likely not exist, For example, consider a vector C that lies between 10 amd 20.
C = rand(1,10)*10 + 10;
m_min = (1 + sqrt(max(C )*2 -1))/2
m_min =
3.60428787739482
m_max = sqrt(min(C ) - 1)
m_max =
3.07214383883712
So we must have m >= 3.6, but also we need m <= 3.07. Clearly no solution exists. We can do further computations to show what range C can have such that a solution can exist.
댓글 수: 0
Setsuna Yuuki.
2020년 11월 28일
For the left side it is:
n = sqrt(C-1);
The other side it is the same.
댓글 수: 4
John D'Errico
2020년 11월 28일
편집: John D'Errico
2020년 11월 28일
READ MY ANSWER. In there, I show that if ANY element of C is less than 5, NO solution can exist.
Anyway, you cannot assign an interval to a number, and you cannot do an assignment using an inequality. So it is not at all clear what you wnt to do.
참고 항목
카테고리
Help Center 및 File Exchange에서 Performance and Memory에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
