File Exchange

## Cleve Laboratory

version 3.80 (2.55 MB) by Cleve Moler

### Cleve Moler (view profile)

A mathematical exploratorium.

Updated 09 Nov 2018

3.80
New lexicon and expanding universe in life_lex, Game of Life.
See: https://blogs.mathworks.com/cleve/2018/11/08/revisiting-the-game-of-life/

See Cleve's Corner in 2016 MathWorks News & Notes,
And see Cleve's Corner blog, http://blogs.mathworks.com/cleve

Explorations:
* Traveling Salesman game
* Dragon Curve
* Cleve's Corner Collection Card Catalog
* Arrowhead Coauthor Graph
* Calculator with Half Precision and Roman Numerals
* Roman Clock
* Color Cubes
* Logo Waves
* Eigshow
* Expshow
* Eigenwalker
* Fern
* Tumbling Box
* Orbits
* Double Pendulum
* Lorenz Chaotic Attractor
* Strang's House
* Flame
* Water Wave
* Mandelbrot
* Golden Spiral
* Game of Life
* Sudoku
* Möbius
* Predator-Prey
* Durer's Magic Square
* . . . and more.

### Cite As

Cleve Moler (2018). Cleve Laboratory (https://www.mathworks.com/matlabcentral/fileexchange/59085-cleve-laboratory), MATLAB Central File Exchange. Retrieved .

Ingmar Rieger

### Ingmar Rieger (view profile)

Hey, as I did some tests with half floats I used Cleve Laboratory and found some shortcomings. I tried to fix all and tried to keep the design clean to the best of my MATLAB knowledge. My suggestions for changes can be found here: https://github.com/irieger/cleve-laboratory

1. Found no way to access the u matrix containing the uint16 packed half floats.
2. No way to create a fp16 matrix with already packed uint16 half float data.
3. It seems to be not ideally efficient to use a for loop and the for loops are designed to handle only 2 dimensional matrices. As I worked with image data I needed a third dimension.

1+2 are of course directly related to each other and helpful when one needs to operate on the binary data or wants to save the actual half float data.

Ingmar Rieger

Egor Spiridonov

### Egor Spiridonov (view profile)

Very helpful half-precision! Fixed bug really matters!
Thanks!

Ronnie North

### Jason Olasky (view profile)

R2017b Home: Lots of errors

Jason Hu

Peterq Lee

Cleve Moler

### Cleve Moler (view profile)

Hi Matthew --
Sorry you are having difficulty with Cleve's Laboratory. But I'm afraid that I do not understand the nature of the problem. Could you please tell me what's wrong.
Thanks.
-- Cleve

Matthew

### Matthew (view profile)

This submission currently(!) deserves a one star rating. One the surface, it appears that no thought has been given to the end-users. For example, required products: MATLAB. No. That is not the case for the submitted code.

Attempts (one or more) were made back in November 2016 to fix these problems. Doesn't this mess prove the inadequacy of MATLAB's dependency analysis and FEX submission processes?

Kamil Wojcicki

Yuri Dreizin

### Yuri Dreizin (view profile)

Matlab 2016a, while the app requires 2016b.
When 2016b will be available?
Another problem:
When I tried to install 2016a (to try the app on it) and verified my license, I ran into another issue:
installation dialog of 2016a required to install a curve fitting toolbox (3.5.3 if I remember right). It did not allow me to uncheck it from the list of toolboxes to be downloaded (when I tried the NEXT button dimmed), but when I did leave it checked and tried to proceed, the next subdialog said that Matlab 9.0 is required, asking me to provide a path for it. But I think Matlab 9.0 is just another name for 2016 release which I tried to install (I do have 2014 and 2015 releases on my PC). So the installation procedure seems to create a vicious circle. Please help

Nathan Fitzgerald

### Nathan Fitzgerald (view profile)

Maybe I don't understand how to download apps, but I can't get this to run out of the box on Matlab R2015b. This is what I did:

- Clicked "Add-Ons" from the Home ribbon to open the add on explorer
- Searched for "Cleve" in the explorer, installed "Cleve Laboratory", agreed to the software agreement etc. Everything appeared to be installed with no obvious warnings.
- Typing "CleveLaboratoryApp" yields "Undefined function or variable 'CleveLaboratoryApp'."

- If I go the addon manager and "Open Folder", then type CleveLaboratoryApp, I get
Error using nargout
Function lab1 does not exist.

Error in CleveLaboratoryApp/startApp (line 58)
if nargout(@lab1) == 0

Error in CleveLaboratoryApp (line 38)
startApp(obj)

Is this some problem with the app install process where paths to functions like lab1.m are not getting addpathed? Or am I missing something? The help for CleveLaboratoryApp.m is pretty sparse, so it's hard to tell if I'm doing something wrong with syntax.

Rance Fortenberry

### Rance Fortenberry (view profile)

Tried installing latest but still failed with same error as Karl's:

com.mathworks.jmi.MatlabException: Failed to extract Matlab app file 'C:\Users\rfortenberry\AppData\Local\Temp\Temp1_Cleve Laboratory.zip\Cleve Laboratory.mlappinstall' to '\\fs1\Users\rfortenberry\My Documents\MATLAB\Apps\CleveLaboratory' with error: Error in parsing xml file. Details: 'unexpected end of input'
at com.mathworks.jmi.NativeMatlab.SendMatlabMessage(Native Method)
at com.mathworks.jmi.NativeMatlab.sendMatlabMessage(NativeMatlab.java:266)
at com.mathworks.jmi.MatlabLooper.sendMatlabMessage(MatlabLooper.java:120)
at com.mathworks.jmi.Matlab.mtFeval(Matlab.java:1710)
at com.mathworks.jmi.MatlabWorker.feval(MatlabWorker.java:197)
at com.mathworks.jmi.MatlabWorker\$2.run(MatlabWorker.java:79)
at com.mathworks.jmi.NativeMatlab.dispatchMTRequests(NativeMatlab.java:475)

Mark Knecht

### Mark Knecht (view profile)

This app hung during installation in Gentoo Linux so I killed Matlab to get control again. Will try again later.

fenghaifeng123

### fenghaifeng123 (view profile)

this is helpful for me to understand
how to use matlab efficient

S LIU

I need

Cleve Moler

### Cleve Moler (view profile)

I have updated this contribution, fixing the install problem, eliminating the call to imresize (the Image Processing Toolbox is on my path, but no everbody's), and adding Crossing Ladders to lab2.
-- Cleve

hicham gheddou

verry good

Karl Rudnick

### Karl Rudnick (view profile)

I believe the apostrophe only caused an error when, on Windows 10, I double-clicked the file to both fire up Matlab and run the add-on install file. The fileparts function had trouble parsing. After I repaired it, I still get the same error message. Do I need to upgrade from R2014b home? I'm retired now and like to minimize expenditures upgrading everything I pay for.

Cleve Moler

### Cleve Moler (view profile)

Did Karl discover that the apostrophe in Cleve's Laboratory is causing trouble with the app install? I'm not sure and will investigate.

Dan did discover that imresize in Durerperm comes from the Image Processing Toolbox, which is on my path, but not everybody's. I will repair that.

-- Cleve

Dominik

Karl Rudnick

### Karl Rudnick (view profile)

Will not install in my Home version : 8.4.0.150421 (R2014b)
I first had to remove apostrophes in the mlappinstall path name, but then I get this error message:
com.mathworks.jmi.MatlabException: Failed to extract Matlab app file 'C:/Users/karl/Documents/MATLAB/ClevesLaboratory/Cleve's Laboratory.mlappinstall' to 'C:/Users/karl/Documents/MATLAB/Apps/ClevesLaboratory - 5' with error: Error in parsing xml file. Details: 'unexpected end of input'
at com.mathworks.jmi.NativeMatlab.SendMatlabMessage(Native Method)
at com.mathworks.jmi.NativeMatlab.sendMatlabMessage(NativeMatlab.java:266)
at com.mathworks.jmi.MatlabLooper.sendMatlabMessage(MatlabLooper.java:120)
at com.mathworks.jmi.Matlab.mtFeval(Matlab.java:1622)
at com.mathworks.jmi.MatlabWorker.feval(MatlabWorker.java:197)
at com.mathworks.jmi.MatlabWorker\$2.run(MatlabWorker.java:79)
at com.mathworks.jmi.NativeMatlab.dispatchMTRequests(NativeMatlab.java:475)

Dan Schult

### Dan Schult (view profile)

I can't start this app. An error message appears while loading durerperm thumbnail icon:
Undefined function or variable 'imresize'.
Error in thumbnails1 (line 137)
x = imresize(X,1/2);

Error in lab1 (line 63)
thumbnails1(f)

When I search the Documentation for imresize, nothing shows up. Do I need to download something else?

Maybe the app should check for the presence of imresize?

Mikhail

### Mikhail (view profile)

##### MATLAB Release Compatibility
Created with R2018a
Compatible with any release
##### Platform Compatibility
Windows macOS Linux

### Discover Live Editor

Create scripts with code, output, and formatted text in a single executable document.

Learn About Live Editor