11.7k views
2 votes
Using Matlab design a dating app.

The user of the app will first insert their own characteristics and then their preferences of the characteristics of their ideal matches. The app will save their own characteristics and their preferences in two separate data sources (e.g., matrices, cell arrays, and so on), and allow users to override both data sources at later stages. Once the characteristics are entered and the preferences are set, there will be an option to scan the database of users for possible matches for the current user. Note that you need to take into account not only the user’s preferences but also of the preferences of the other users. The app will then present the best match it found, and the user can decide to click match or no match. If they click match (the match must be a good match for both the user and the other person), then the program returns the number of attempts it took and the characteristics of the two matching individuals. If there was no match, then the next best candidate will be offered. Sorting users across multiple preference dimensions can be tricky - think about how this can be implemented. You must add the option to change the characteristics and the preferences of the user. You can decide (on your own) how the app will take into account the preferences of other users when searching for a match, how it will weigh different preferences and characteristics, as well as How it will handle conflicts between users’ preferences. Based on this you need to determine what the criteria are for a "good match" in the app. Moreover, you can decide which data structures you are going to use to store the data. You can use MATLAB structures that we did not cover in the course. Recommended structures: data structs or cell arrays.

Example of how the application should work: User Arik enters the system. The app prompts him for his own characteristics: age, gender (non-binary categorization is preferred), hair color, eye color, favorite band, and favorite book. He will enter his age, gender, and so on. Then the app will prompt Arik for his preferences in the ideal match. These preferences will be saved separately in different data sources. Then, there will be a search and Arik will receive the top candidate for a match.

1 Answer

3 votes

Final answer:

A dating app in Matlab involves using data structures such as structs or cell arrays to store user profiles and preferences. An effective matching algorithm considers both user's criteria and potential matches' preferences, possibly using weighted values for different characteristics. The app also allows users to update their profiles and preferences and displays match information upon acceptance.

Step-by-step explanation:

Designing a Dating App Using Matlab

To design a dating app using Matlab, one must first decide on the data structures to store user profiles and preferences. A recommendation is to use data structures such as structs or cell arrays for their flexibility and complexity handling capabilities. In the app, a user like Arik would insert characteristics such as age, gender, hair color, eye color, favorite band, and favorite book. Arik's preferences for an ideal match would be stored in a separate data structure.

For the matching algorithm, considerations should be made on not only the user's preferences but also those of potential matches. A good match could be based on the number of shared preferences or a weighted system that gives certain characteristics more importance. To graphically represent patterns in human characteristics that help in matching, one could plot attributes like height and weight, as mentioned in the question, to discern a correlation.

The app should allow for continuous updating of user profiles and preferences, and employ an intelligent matching system that also considers the preferences of other users. Once a match is found, Arik has the option to accept or decline. The match’s characteristics and the number of attempts to find this match would be displayed upon acceptance.

User Josh Stribling
by
8.2k points