This is a homework question I have been stuck on.
1 view (last 30 days)
Show older comments
Jonathan Trencheny
on 14 Feb 2016
Commented: Image Analyst
on 14 Feb 2016
Write a MatLab function called problem5 that inputs, in this order, a row vector vec, and a positive integer n, and outputs a two-row matrix such that the first row is vec and the second row consists of every element of vec raised to the n power. Your function should suppress all outputs. (b)Let vec = [3, 4, 2, 8, 10] and n = 3 and call your function. Store its output as variable X. Have MatLab echo X .
0 Comments
Accepted Answer
Image Analyst
on 14 Feb 2016
Hint: see this snippet
% Ask user for two floating point numbers.
defaultValue = {'45.67', '78.91'};
titleBar = 'Enter a value';
userPrompt = {'Enter floating point number 1 : ', 'Enter floating point number 2: '};
caUserInput = inputdlg(userPrompt, titleBar, 1, defaultValue);
if isempty(caUserInput),return,end; % Bail out if they clicked Cancel.
% Convert to floating point from string.
usersValue1 = str2double(caUserInput{1})
usersValue2 = str2double(caUserInput{2})
% Check for a valid number.
if isnan(usersValue1)
% They didn't enter a number.
% They clicked Cancel, or entered a character, symbols, or something else not allowed.
% Convert the default from a string and stick that into usersValue1.
usersValue1 = str2double(defaultValue{1});
message = sprintf('I said it had to be a number.\nI will use %.2f and continue.', usersValue1);
uiwait(warndlg(message));
end
% Do the same for usersValue2
You can also input a string that way, so the user can enter in a bunch of numbers, then use sscanf() or textscan() to parse it into a vector of doubles. Good luck.
2 Comments
Image Analyst
on 14 Feb 2016
Try input(). Put it into a while loop until the user enters some number to indicate he's done with the vector, like -999 or something. At each iteration use str2double() if you need to convert a string to a number.
More Answers (1)
Walter Roberson
on 14 Feb 2016
See input() .
Note that when you use input(), the user needs to type in [] around their input if you are having them input a numeric vector. If you want to get around that, you need to use the 's' option of input so the user is typing in a string, and then you need to convert the string to numeric such as with regexp() 'split' and str2double()
0 Comments
See Also
Categories
Find more on Time Series Objects in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!