This is a homework question I have been stuck on.
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Jonathan Trencheny
am 14 Feb. 2016
Kommentiert: Image Analyst
am 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 Kommentare
Akzeptierte Antwort
Image Analyst
am 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 Kommentare
Image Analyst
am 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.
Weitere Antworten (1)
Walter Roberson
am 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 Kommentare
Siehe auch
Kategorien
Mehr zu Time Series Objects finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!