Translate python into matlab

3 次查看(过去 30 天)
Marcus Jensen
Marcus Jensen 2021-8-16
编辑: Wan Ji 2021-8-16
Hi all,
I have a solution for a task I have to do, but the solution is written and works with python. Now I am asking, if any of you know a way, this could be written in matlab? I am very new to matlab, and therefore I am unable to figure it out myself. The most difficulties arise, when I have to find a solution to pythons enumerate function... Thank you in advance!
The code:
data = np.array([[10, -3, 10, 7, 0, 12],
[12, 12, 12, 10, 0, 12],
[7, 7, 10, 10, 0, 10],
[7, 4, 7, 7, 0, 12],
[-3, 4, 7, 4, 4, 12],
[7, 4, 4, 4, 0, 12]])
jitter_min = -0.1
jitter_max = 0.1
for a,grades in enumerate(data):
x = a*np.ones(len(grades)) + (jitter_max-jitter_min)*np.random.random(size=len(grades))+jitter_min
plt.plot(x, grades, 'o', label='Assignment #{:d}'.format(a), clip_on=False)
plt.xlabel('Assignments')
plt.ylabel('Grades')

回答(1 个)

Wan Ji
Wan Ji 2021-8-16
编辑:Wan Ji 2021-8-16
We firstly make data a matrix. Each row is named grades, and the row number is a. Then python code can be tranlated to matlab one:
data = [[10, -3, 10, 7, 0, 12];
[12, 12, 12, 10, 0, 12];
[7, 7, 10, 10, 0, 10];
[7, 4, 7, 7, 0, 12];
[-3, 4, 7, 4, 4, 12];
[7, 4, 4, 4, 0, 12]];
jitter_min = -0.1;
jitter_max = 0.1;
for a = 1:1:size(data,1)
grades = data(a,:);
x = (a-1)*ones(size(grades)) + (jitter_max-jitter_min)*rand(size(grades))+jitter_min;
plot(x, grades, 'o')
hold on
end
xlabel('Assignments')
ylabel('Grades')

类别

Help CenterFile Exchange 中查找有关 Call MATLAB from Python 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by