How to swap values of two variables?
363 ビュー (過去 30 日間)
古いコメントを表示
For instance, if i ask the user to input the values of a and b, in this case they choose a=10 and b=5 how would I be able to switch them so that it'll be a=5 and b=10.
4 件のコメント
Jan
2021 年 10 月 19 日
編集済み: Jan
2021 年 10 月 19 日
@Subhashini Neelamegam: Yes, but this is more efficient:
function [b, a] = swap(a, b)
end
採用された回答
David Goodmanson
2017 年 10 月 23 日
Hi Daniel,
Take a look at the 'deal' command, in this case [b a] = deal(a,b)
0 件のコメント
その他の回答 (3 件)
Jan
2017 年 10 月 23 日
Cheaper than deal:
function [b, a] = swap(a, b)
% This function has no body!
13 件のコメント
Rik
2023 年 8 月 29 日
You generally need to warm up function calls if you want to test timings online. This should be reasonably stable. As you can see, they differ by a lot, but in the other direction than your post shows. Using a function instead of a script might also affect the timings (as you can see, the same code runs over 10x faster inside a function).
timeit(@test_deal);timeit(@test_swap);% warm-up round
timeit(@test_deal),timeit(@test_swap)
function test_deal
c1 = zeros(100);
c2 = ones(100);
for i = 1:100000
[c1,c2] = deal(c2,c1);
end
end
function test_swap
c1 = zeros(100);
c2 = ones(100);
for i = 1:100000
[c1,c2] = swap(c2,c1);
end
end
function [a,b] = swap(a,b)
end
AAMIR SHEIKH
2020 年 8 月 11 日
Going Traditionally !!!
a = input("enter a :::");
b = input("enter b :::");
temp = a;
a = b;
b = temp;
[a b]
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Loops and Conditional Statements についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!