You are now following this question
- You will see updates in your followed content feed.
- You may receive emails, depending on your communication preferences.
How can I make matrix choose?
1 view (last 30 days)
Show older comments
I had a function get me variable m like that
- m=[60;90;90;180;125.3;90;60;45;135]
- and I need N to change when m changes.
- When m=0 or 180 N=0
- When m=90 N=1
- when m=45 or 135 N=0.5
- Otherwise P =5.
- N and P are matrices not just value because it will be used in other equations.
1 Comment
madhan ravi
on 21 Oct 2018
Upload your code
Accepted Answer
madhan ravi
on 21 Oct 2018
Edited: madhan ravi
on 21 Oct 2018
>> m=[60;90;90;180;125.3;90;60;45;135]
N=zeros(1,numel(m)); % your N should be here instead of this
N(m==0 | m==180)=0;
N(m==90)=1;
N(m==45 | m==135)=0.5;
N = N'
m =
60.0000
90.0000
90.0000
180.0000
125.3000
90.0000
60.0000
45.0000
135.0000
N =
0
1.0000
1.0000
0
0
1.0000
0
0.5000
0.5000
>>
23 Comments
madhan ravi
on 21 Oct 2018
Edited: madhan ravi
on 21 Oct 2018
What’s P?? Oh don’t need loop to do these operations
Mahmoud Sami
on 21 Oct 2018
It's another function not related to N
Mahmoud Sami
on 21 Oct 2018
P is a penalty function in GA optimization, so N=1 and P = 5
madhan ravi
on 21 Oct 2018
Edited: madhan ravi
on 21 Oct 2018
The answer gives you all conditions for N
Mahmoud Sami
on 21 Oct 2018
I would like to thank you for your help, but unfortunately some wrong outputs all 45 degrees get N=0, not 0.5.
Mahmoud Sami
on 21 Oct 2018
Also, the other m value gets N=0, I don't know why?.
madhan ravi
on 21 Oct 2018
Check the edited code I get N=0.5 when m = 45
Mahmoud Sami
on 21 Oct 2018
The same problem, nothing new.
madhan ravi
on 21 Oct 2018
Edited: madhan ravi
on 21 Oct 2018
you didn't provide the data for N so I gave zero values to N
Mahmoud Sami
on 21 Oct 2018
Please explain, I can't understand your answer.
madhan ravi
on 21 Oct 2018
Edited: madhan ravi
on 21 Oct 2018
can you post the datas of N ? Like you gave
m=[60;90;90;180;125.3;90;60;45;135]
what are the values of N?
Mahmoud Sami
on 21 Oct 2018
My m in actual is 113*1. Here N is good in my code didn't get the answer.
madhan ravi
on 21 Oct 2018
Edited: madhan ravi
on 21 Oct 2018
will you provide the real data of m and N this is the third time I'm asking? otherwise I can't help you if you don't cooperate
Mahmoud Sami
on 21 Oct 2018
The code.
madhan ravi
on 21 Oct 2018
Edited: madhan ravi
on 21 Oct 2018
explain with an example what you want to do (a simple one)
Mahmoud Sami
on 21 Oct 2018
https://www.mathworks.com/matlabcentral/fileexchange/20025-dijkstra-s-minimum-cost-path-algorithm
Mahmoud Sami
on 21 Oct 2018
Sorry my code depends on that code.
madhan ravi
on 21 Oct 2018
phew.. I don't think I have enough time to debug your code by reading your mind
Mahmoud Sami
on 21 Oct 2018
That's all data I have, other data is a mechanical data need more explain.
Mahmoud Sami
on 21 Oct 2018
I'm just new with matlab, so the kind of ask and answer is not known for me. Sorry
madhan ravi
on 21 Oct 2018
its ok it happens you will improve sooner :) , explain with steps what you are trying to achieve lets debug together
Mahmoud Sami
on 21 Oct 2018
My master is to get optimization for cost in a piping design system. The cost of piping depends on piping weight. So the piping lenght,diameter and other components is the major items L, OD, N. So I need to know the shortest path, then optimize the diameter and calculate the cost. N is no of elbows in system the degree of elbows affects cost as it affect industry. So need to change the angle between segments to 90 or 45 and minimize no. Of elbows also. The penalty fcn for genetic algorithms is to put penalty to cost if ang is not 90 or 45. To make the optimization not choose it. That's in simple way.
More Answers (0)
See Also
Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!An Error Occurred
Unable to complete the action because of changes made to the page. Reload the page to see its updated state.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom(English)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)